home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1986-03-02 | 21.1 KB | [ TEXT/EDIT]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
Confidence Program Detection Match Type Support
66%
dexvert
Compact Compressed (Unix) (archive/compact)
ext
Supported
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
MacBinary II, inited, Sun Mar 2 17:18:08 1986, modified Sun Mar 2 17:18:08 1986, creator Macintosh Edit, type ASCII, 21085 bytes "Clock.c" , at 0x52dd 348 bytes resource
default (weak)
99%
file
data
default
74%
TrID
Macintosh plain text (MacBinary)
default
25%
TrID
MacBinary 2
default (weak)
100%
siegfried
fmt/1762 MacBinary (II)
default
100%
lsar
MacBinary
default
id metadata key value macFileType [ TEXT] macFileCreator [ EDIT]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 07 43 6c 6f 63 6b 2e | 63 00 00 00 00 00 00 00 |..Clock.|c.......| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......| |00000050| 00 00 00 00 00 52 5d 00 | 00 01 5c 9a 8e 82 20 9a |.....R].|..\... .| |00000060| 8e 82 20 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.. .....|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 af 44 00 00 |........|.....D..| |00000080| 2f 2a 20 46 69 6c 65 6e | 61 6d 65 3a 20 43 6c 6f |/* Filen|ame: Clo| |00000090| 63 6b 2e 63 20 20 20 74 | 61 62 73 20 3d 20 32 20 |ck.c t|abs = 2 | |000000a0| 20 20 6f 72 69 67 69 6e | 61 6c 6c 79 20 63 6f 6d | origin|ally com| |000000b0| 70 69 6c 65 64 20 77 69 | 74 68 20 4d 61 63 20 43 |piled wi|th Mac C| |000000c0| 20 34 2e 30 20 2a 2f 0d | 0d 2f 2a 0d 2d 2d 2d 2d | 4.0 */.|./*.----| |000000d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000000e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000000f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 43 20 4c |--------|----.C L| |00000120| 20 4f 20 43 20 4b 20 20 | 20 76 65 72 73 69 6f 6e | O C K | version| |00000130| 20 30 32 2f 32 36 2f 38 | 36 0d 0d 43 6f 70 79 72 | 02/26/8|6..Copyr| |00000140| 69 67 68 74 20 28 43 29 | 31 39 38 36 20 62 79 20 |ight (C)|1986 by | |00000150| 44 6f 6e 20 4d 65 6c 74 | 6f 6e 2c 20 61 6c 6c 20 |Don Melt|on, all | |00000160| 72 69 67 68 74 73 20 72 | 65 73 65 72 76 65 64 2e |rights r|eserved.| |00000170| 0d 0d 43 6c 6f 63 6b 20 | 69 73 20 61 20 64 65 73 |..Clock |is a des| |00000180| 6b 20 61 63 63 65 73 73 | 6f 72 79 20 77 68 69 63 |k access|ory whic| |00000190| 68 20 6f 70 65 6e 73 20 | 61 20 77 69 6e 64 6f 77 |h opens |a window| |000001a0| 20 64 69 73 70 6c 61 79 | 69 6e 67 20 74 68 65 20 | display|ing the | |000001b0| 63 75 72 72 65 6e 74 20 | 74 69 6d 65 20 69 6e 0d |current |time in.| |000001c0| 68 6f 75 72 73 2c 20 6d | 69 6e 75 74 65 73 20 61 |hours, m|inutes a| |000001d0| 6e 64 20 73 65 63 6f 6e | 64 73 2e 20 49 74 20 68 |nd secon|ds. It h| |000001e0| 61 73 20 61 20 6d 65 6e | 75 20 61 6c 6c 6f 77 69 |as a men|u allowi| |000001f0| 6e 67 20 74 68 65 20 63 | 68 6f 69 63 65 20 6f 66 |ng the c|hoice of| |00000200| 20 64 69 73 70 6c 61 79 | 69 6e 67 20 74 68 65 0d | display|ing the.| |00000210| 74 69 6d 65 20 6f 72 20 | 64 61 74 65 2c 20 6f 72 |time or |date, or| |00000220| 20 61 6e 20 22 41 62 6f | 75 74 c9 22 20 64 69 61 | an "Abo|ut." dia| |00000230| 6c 6f 67 2e 0d 0d 54 68 | 69 73 20 69 73 20 61 6e |log...Th|is is an| |00000240| 20 65 78 61 6d 70 6c 65 | 20 6f 66 20 68 6f 77 20 | example| of how | |00000250| 74 6f 20 63 72 65 61 74 | 65 20 61 20 64 65 73 6b |to creat|e a desk| |00000260| 20 61 63 63 65 73 73 6f | 72 79 20 77 69 74 68 20 | accesso|ry with | |00000270| 43 6f 6e 73 75 6c 61 69 | 72 20 4d 61 63 20 43 0d |Consulai|r Mac C.| |00000280| 77 69 74 68 6f 75 74 20 | 72 65 6c 79 69 6e 67 20 |without |relying | |00000290| 6f 6e 20 74 68 65 20 44 | 65 73 6b 4d 61 6b 65 72 |on the D|eskMaker| |000002a0| 20 61 70 70 6c 69 63 61 | 74 69 6f 6e 2e 20 54 68 | applica|tion. Th| |000002b0| 65 20 73 6f 75 72 63 65 | 20 63 6f 64 65 20 69 73 |e source| code is| |000002c0| 20 70 72 6f 76 69 64 65 | 64 20 61 73 20 61 0d 72 | provide|d as a.r| |000002d0| 65 66 65 72 65 6e 63 65 | 20 66 6f 72 20 4d 61 63 |eference| for Mac| |000002e0| 69 6e 74 6f 73 68 20 73 | 6f 66 74 77 61 72 65 20 |intosh s|oftware | |000002f0| 64 65 76 65 6c 6f 70 65 | 72 73 2e 20 54 68 65 20 |develope|rs. The | |00000300| 63 6c 6f 63 6b 20 64 65 | 73 6b 20 61 63 63 65 73 |clock de|sk acces| |00000310| 73 6f 72 79 20 69 74 73 | 65 6c 66 20 6d 61 79 0d |sory its|elf may.| |00000320| 62 65 20 66 72 65 65 6c | 79 20 64 69 73 74 72 69 |be freel|y distri| |00000330| 62 75 74 65 64 20 61 73 | 20 6c 6f 6e 67 20 61 73 |buted as| long as| |00000340| 20 74 68 65 20 63 6f 70 | 79 72 69 67 68 74 20 6e | the cop|yright n| |00000350| 6f 74 69 63 65 20 72 65 | 6d 61 69 6e 73 20 69 6e |otice re|mains in| |00000360| 74 61 63 74 2e 0d 0d 46 | 6f 72 20 69 6e 73 70 69 |tact...F|or inspi| |00000370| 72 61 74 69 6f 6e 20 61 | 6e 64 20 74 65 63 68 6e |ration a|nd techn| |00000380| 69 63 61 6c 20 68 65 6c | 70 20 49 27 64 20 6c 69 |ical hel|p I'd li| |00000390| 6b 65 20 74 6f 20 61 63 | 6b 6e 6f 77 6c 65 64 67 |ke to ac|knowledg| |000003a0| 65 3a 0d 09 41 6c 61 6e | 20 57 6f 6f 74 74 6f 6e |e:..Alan| Wootton| |000003b0| 0d 09 42 6f 62 20 44 65 | 6e 6e 79 0d 09 46 72 65 |..Bob De|nny..Fre| |000003c0| 64 20 48 75 78 68 61 6d | 0d 09 44 61 76 69 64 20 |d Huxham|..David | |000003d0| 42 75 72 6e 61 72 64 0d | 09 4d 69 6b 65 20 53 63 |Burnard.|.Mike Sc| |000003e0| 68 75 73 74 65 72 0d 09 | 44 61 76 69 64 20 53 6d |huster..|David Sm| |000003f0| 69 74 68 0d 09 42 69 6c | 6c 20 44 75 76 61 6c 6c |ith..Bil|l Duvall| |00000400| 20 61 6e 64 20 4a 61 79 | 20 46 72 69 65 64 6c 61 | and Jay| Friedla| |00000410| 6e 64 20 6f 66 20 43 6f | 6e 73 75 6c 61 69 72 20 |nd of Co|nsulair | |00000420| 43 6f 72 70 2e 0d 0d 2d | 2d 20 44 6f 6e 20 4d 65 |Corp...-|- Don Me| |00000430| 6c 74 6f 6e 2c 20 43 49 | 53 3a 20 37 34 31 36 36 |lton, CI|S: 74166| |00000440| 2c 31 30 30 36 20 2a 2f | 0d 0d 2f 2a 0d 2d 2d 2d |,1006 */|../*.---| |00000450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 4d 41 |--------|-----.MA| |000004a0| 43 20 43 20 43 4f 4d 50 | 49 4c 45 52 20 4f 50 54 |C C COMP|ILER OPT| |000004b0| 49 4f 4e 53 0d 53 65 74 | 75 70 20 41 34 20 61 73 |IONS.Set|up A4 as| |000004c0| 20 74 68 65 20 69 6e 64 | 65 78 20 74 6f 20 67 6c | the ind|ex to gl| |000004d0| 6f 62 61 6c 20 76 61 72 | 69 61 62 6c 65 73 20 61 |obal var|iables a| |000004e0| 6e 64 20 69 6e 68 69 62 | 69 74 20 66 6c 6f 61 74 |nd inhib|it float| |000004f0| 69 6e 67 20 70 6f 69 6e | 74 2e 20 2a 2f 0d 0d 23 |ing poin|t. */..#| |00000500| 4f 70 74 69 6f 6e 73 20 | 52 3d 34 20 5a 0d 0d 2f |Options |R=4 Z../| |00000510| 2a 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*.------|--------| |00000520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000560| 2d 2d 0d 48 45 41 44 45 | 52 20 46 49 4c 45 53 20 |--.HEADE|R FILES | |00000570| 2a 2f 0d 0d 23 69 6e 63 | 6c 75 64 65 20 3c 4d 61 |*/..#inc|lude <Ma| |00000580| 63 44 65 66 73 2e 68 3e | 0d 23 69 6e 63 6c 75 64 |cDefs.h>|.#includ| |00000590| 65 20 3c 51 75 69 63 6b | 44 72 61 77 2e 68 3e 0d |e <Quick|Draw.h>.| |000005a0| 23 69 6e 63 6c 75 64 65 | 20 3c 46 6f 6e 74 2e 68 |#include| <Font.h| |000005b0| 3e 0d 23 69 6e 63 6c 75 | 64 65 20 3c 57 69 6e 64 |>.#inclu|de <Wind| |000005c0| 6f 77 2e 68 3e 0d 23 69 | 6e 63 6c 75 64 65 20 3c |ow.h>.#i|nclude <| |000005d0| 54 65 78 74 45 64 69 74 | 2e 68 3e 0d 23 69 6e 63 |TextEdit|.h>.#inc| |000005e0| 6c 75 64 65 20 3c 44 69 | 61 6c 6f 67 2e 68 3e 0d |lude <Di|alog.h>.| |000005f0| 23 69 6e 63 6c 75 64 65 | 20 3c 4d 65 6e 75 2e 68 |#include| <Menu.h| |00000600| 3e 0d 23 69 6e 63 6c 75 | 64 65 20 3c 45 76 65 6e |>.#inclu|de <Even| |00000610| 74 73 2e 68 3e 0d 23 69 | 6e 63 6c 75 64 65 20 3c |ts.h>.#i|nclude <| |00000620| 44 65 76 69 63 65 2e 68 | 3e 0d 23 69 6e 63 6c 75 |Device.h|>.#inclu| |00000630| 64 65 20 3c 50 61 63 6b | 61 67 65 73 2e 68 3e 0d |de <Pack|ages.h>.| |00000640| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 44 65 73 6b 41 |.#includ|e <DeskA| |00000650| 63 63 65 73 73 6f 72 79 | 2e 63 3e 0d 0d 2f 2a 0d |ccessory|.c>../*.| |00000660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000670| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000006a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000006b0| 0d 4d 4f 44 49 46 49 45 | 44 20 44 45 46 49 4e 49 |.MODIFIE|D DEFINI| |000006c0| 54 49 4f 4e 53 0d 4f 53 | 49 4f 2e 68 20 69 73 20 |TIONS.OS|IO.h is | |000006d0| 6e 6f 74 20 69 6e 63 6c | 75 64 65 64 20 62 65 63 |not incl|uded bec| |000006e0| 61 75 73 65 20 74 68 65 | 20 4f 70 50 61 72 61 6d |ause the| OpParam| |000006f0| 54 79 70 65 20 75 6e 69 | 6f 6e 20 73 74 72 75 63 |Type uni|on struc| |00000700| 74 75 72 65 20 28 61 73 | 20 64 65 66 69 6e 65 64 |ture (as| defined| |00000710| 29 20 64 6f 65 73 0d 6e | 6f 74 20 70 72 6f 76 69 |) does.n|ot provi| |00000720| 64 65 20 61 63 63 65 73 | 73 20 74 6f 20 74 68 65 |de acces|s to the| |00000730| 20 6d 65 6e 75 20 69 74 | 65 6d 2e 20 49 74 20 69 | menu it|em. It i| |00000740| 73 20 72 65 64 65 66 69 | 6e 65 64 20 68 65 72 65 |s redefi|ned here| |00000750| 20 74 6f 20 69 6e 63 6c | 75 64 65 20 6d 65 6e 75 | to incl|ude menu| |00000760| 44 61 74 61 0d 61 6e 64 | 20 74 68 65 20 65 76 65 |Data.and| the eve| |00000770| 6e 74 20 70 6f 69 6e 74 | 65 72 2e 0d 0d 2a 2a 2a |nt point|er...***| |00000780| 20 49 4d 50 4f 52 54 41 | 4e 54 20 2a 2a 2a 20 4f | IMPORTA|NT *** O| |00000790| 74 68 65 72 20 61 6c 74 | 65 72 6e 61 74 65 20 65 |ther alt|ernate e| |000007a0| 6c 65 6d 65 6e 74 73 20 | 6f 66 20 74 68 65 20 4f |lements |of the O| |000007b0| 70 50 61 72 61 6d 54 79 | 70 65 20 75 6e 69 6f 6e |pParamTy|pe union| |000007c0| 20 73 74 72 75 63 74 75 | 72 65 0d 61 72 65 20 6e | structu|re.are n| |000007d0| 6f 74 20 64 65 66 69 6e | 65 64 20 68 65 72 65 21 |ot defin|ed here!| |000007e0| 21 21 0d 0d 54 68 65 20 | 43 6e 74 72 6c 50 61 72 |!!..The |CntrlPar| |000007f0| 61 6d 20 73 74 72 75 63 | 74 75 72 65 20 61 6c 73 |am struc|ture als| |00000800| 6f 20 6d 75 73 74 20 62 | 65 20 64 65 66 69 6e 65 |o must b|e define| |00000810| 64 20 62 65 63 61 75 73 | 65 20 4f 53 49 4f 2e 68 |d becaus|e OSIO.h| |00000820| 20 69 73 20 6e 6f 74 20 | 69 6e 63 6c 75 64 65 64 | is not |included| |00000830| 2e 0d 48 6f 77 65 76 65 | 72 2c 20 69 74 20 72 65 |..Howeve|r, it re| |00000840| 6d 61 69 6e 73 20 75 6e | 61 6c 74 65 72 65 64 2e |mains un|altered.| |00000850| 20 2a 2f 0d 0d 75 6e 69 | 6f 6e 20 5f 5f 4f 50 0d | */..uni|on __OP.| |00000860| 09 7b 20 0d 09 73 74 72 | 75 63 74 0d 09 09 7b 0d |.{ ..str|uct...{.| |00000870| 09 09 73 68 6f 72 74 20 | 6d 65 6e 75 49 44 3b 0d |..short |menuID;.| |00000880| 09 09 73 68 6f 72 74 20 | 6d 65 6e 75 49 74 65 6d |..short |menuItem| |00000890| 3b 0d 09 09 7d 20 6d 65 | 6e 75 44 61 74 61 3b 0d |;...} me|nuData;.| |000008a0| 09 50 74 72 20 65 76 65 | 6e 74 3b 0d 09 7d 3b 0d |.Ptr eve|nt;..};.| |000008b0| 0d 23 64 65 66 69 6e 65 | 20 4f 70 50 61 72 61 6d |.#define| OpParam| |000008c0| 54 79 70 65 20 75 6e 69 | 6f 6e 20 5f 5f 4f 50 0d |Type uni|on __OP.| |000008d0| 0d 73 74 72 75 63 74 20 | 5f 5f 43 50 0d 09 7b 0d |.struct |__CP..{.| |000008e0| 09 73 74 72 75 63 74 20 | 5f 5f 43 50 20 2a 69 6f |.struct |__CP *io| |000008f0| 4c 69 6e 6b 3b 0d 09 73 | 68 6f 72 74 20 69 6f 54 |Link;..s|hort ioT| |00000900| 79 70 65 3b 0d 09 73 68 | 6f 72 74 20 69 6f 54 72 |ype;..sh|ort ioTr| |00000910| 61 70 3b 0d 09 50 74 72 | 20 69 6f 43 6d 64 41 64 |ap;..Ptr| ioCmdAd| |00000920| 64 72 3b 0d 09 50 72 6f | 63 50 74 72 20 69 6f 43 |dr;..Pro|cPtr ioC| |00000930| 6f 6d 70 6c 65 74 69 6f | 6e 3b 0d 09 73 68 6f 72 |ompletio|n;..shor| |00000940| 74 20 69 6f 52 65 73 75 | 6c 74 3b 0d 09 63 68 61 |t ioResu|lt;..cha| |00000950| 72 20 2a 69 6f 4e 61 6d | 65 50 74 72 3b 0d 09 73 |r *ioNam|ePtr;..s| |00000960| 68 6f 72 74 20 69 6f 56 | 52 65 66 4e 75 6d 3b 0d |hort ioV|RefNum;.| |00000970| 09 73 68 6f 72 74 20 69 | 6f 52 65 66 4e 75 6d 3b |.short i|oRefNum;| |00000980| 0d 09 73 68 6f 72 74 20 | 43 53 43 6f 64 65 3b 0d |..short |CSCode;.| |00000990| 09 4f 70 50 61 72 61 6d | 54 79 70 65 20 63 73 70 |.OpParam|Type csp| |000009a0| 3b 0d 09 7d 3b 0d 0d 23 | 64 65 66 69 6e 65 20 43 |;..};..#|define C| |000009b0| 6e 74 72 6c 50 61 72 61 | 6d 20 73 74 72 75 63 74 |ntrlPara|m struct| |000009c0| 20 5f 5f 43 50 0d 0d 2f | 2a 0d 2d 2d 2d 2d 2d 2d | __CP../|*.------| |000009d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000009e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000009f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 44 45 46 49 4e |--------|--.DEFIN| |00000a20| 49 54 49 4f 4e 53 20 4e | 4f 54 20 49 4e 20 4d 41 |ITIONS N|OT IN MA| |00000a30| 43 20 43 20 48 45 41 44 | 45 52 20 46 49 4c 45 53 |C C HEAD|ER FILES| |00000a40| 20 2a 2f 0d 0d 74 79 70 | 65 64 65 66 20 73 74 72 | */..typ|edef str| |00000a50| 75 63 74 0d 09 7b 0d 09 | 63 68 61 72 20 74 79 70 |uct..{..|char typ| |00000a60| 65 4e 61 6d 65 5b 34 5d | 3b 0d 09 7d 20 52 65 73 |eName[4]|;..} Res| |00000a70| 54 79 70 65 3b 0d 0d 2f | 2a 0d 2d 2d 2d 2d 2d 2d |Type;../|*.------| |00000a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 43 4f 4e 53 54 |--------|--.CONST| |00000ad0| 41 4e 54 20 44 45 46 49 | 4e 49 54 49 4f 4e 53 20 |ANT DEFI|NITIONS | |00000ae0| 2a 2f 0d 0d 23 64 65 66 | 69 6e 65 20 4e 49 4c 20 |*/..#def|ine NIL | |00000af0| 30 0d 23 64 65 66 69 6e | 65 20 46 41 4c 53 45 20 |0.#defin|e FALSE | |00000b00| 30 0d 23 64 65 66 69 6e | 65 20 54 52 55 45 20 31 |0.#defin|e TRUE 1| |00000b10| 0d 0d 23 64 65 66 69 6e | 65 20 46 52 45 45 5f 42 |..#defin|e FREE_B| |00000b20| 4c 4f 43 4b 5f 53 49 5a | 45 20 30 78 31 30 30 30 |LOCK_SIZ|E 0x1000| |00000b30| 0d 23 64 65 66 69 6e 65 | 20 46 52 4f 4e 54 5f 57 |.#define| FRONT_W| |00000b40| 49 4e 44 4f 57 20 2d 31 | 0d 0d 23 64 65 66 69 6e |INDOW -1|..#defin| |00000b50| 65 20 41 42 4f 55 54 5f | 44 4c 4f 47 20 31 0d 23 |e ABOUT_|DLOG 1.#| |00000b60| 64 65 66 69 6e 65 20 44 | 49 53 50 4c 41 59 5f 49 |define D|ISPLAY_I| |00000b70| 54 45 4d 20 31 0d 23 64 | 65 66 69 6e 65 20 54 49 |TEM 1.#d|efine TI| |00000b80| 4d 45 5f 49 54 45 4d 20 | 31 0d 23 64 65 66 69 6e |ME_ITEM |1.#defin| |00000b90| 65 20 44 41 54 45 5f 49 | 54 45 4d 20 32 0d 23 64 |e DATE_I|TEM 2.#d| |00000ba0| 65 66 69 6e 65 20 41 42 | 4f 55 54 5f 49 54 45 4d |efine AB|OUT_ITEM| |00000bb0| 20 34 0d 23 64 65 66 69 | 6e 65 20 43 4c 4f 43 4b | 4.#defi|ne CLOCK| |00000bc0| 5f 4d 45 4e 55 20 30 0d | 0d 23 64 65 66 69 6e 65 |_MENU 0.|.#define| |00000bd0| 20 54 49 4d 45 20 30 78 | 30 32 30 43 0d 23 64 65 | TIME 0x|020C.#de| |00000be0| 66 69 6e 65 20 57 41 4e | 54 5f 53 45 43 4f 4e 44 |fine WAN|T_SECOND| |00000bf0| 53 20 30 78 30 31 30 30 | 0d 23 64 65 66 69 6e 65 |S 0x0100|.#define| |00000c00| 20 54 49 4d 45 5f 53 45 | 4c 45 43 54 49 4f 4e 20 | TIME_SE|LECTION | |00000c10| 32 0d 23 64 65 66 69 6e | 65 20 44 41 54 45 5f 53 |2.#defin|e DATE_S| |00000c20| 45 4c 45 43 54 49 4f 4e | 20 30 0d 0d 2f 2a 0d 2d |ELECTION| 0../*.-| |00000c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00000c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.| |00000c80| 53 45 54 55 50 20 44 41 | 20 48 45 41 44 45 52 20 |SETUP DA| HEADER | |00000c90| 41 4e 44 20 47 4c 55 45 | 20 52 4f 55 54 49 4e 45 |AND GLUE| ROUTINE| |00000ca0| 53 0d 48 65 72 65 20 61 | 6e 20 61 73 73 65 6d 62 |S.Here a|n assemb| |00000cb0| 6c 79 20 6c 61 6e 67 75 | 61 67 65 20 6d 61 63 72 |ly langu|age macr| |00000cc0| 6f 20 69 73 20 69 6e 76 | 6f 6b 65 64 20 66 72 6f |o is inv|oked fro| |00000cd0| 6d 20 44 65 73 6b 41 63 | 63 65 73 73 6f 72 79 2e |m DeskAc|cessory.| |00000ce0| 63 2e 20 54 68 69 73 20 | 6d 61 63 72 6f 0d 63 6f |c. This |macro.co| |00000cf0| 6e 66 69 67 75 72 65 73 | 2c 20 61 6e 64 20 74 68 |nfigures|, and th| |00000d00| 65 6e 20 69 6e 63 6c 75 | 64 65 73 20 44 41 48 65 |en inclu|des DAHe| |00000d10| 61 64 65 72 2e 61 73 6d | 20 69 6e 20 74 68 65 20 |ader.asm| in the | |00000d20| 4d 61 63 20 43 20 73 6f | 75 72 63 65 20 66 69 6c |Mac C so|urce fil| |00000d30| 65 2e 20 54 68 65 20 6d | 61 63 72 6f 0d 72 65 71 |e. The m|acro.req| |00000d40| 75 69 72 65 73 20 74 68 | 65 20 6e 61 6d 65 73 20 |uires th|e names | |00000d50| 6f 66 20 74 68 65 20 4d | 61 63 20 43 20 66 75 6e |of the M|ac C fun| |00000d60| 63 74 69 6f 6e 73 20 66 | 6f 72 20 44 41 20 6f 70 |ctions f|or DA op| |00000d70| 65 6e 2c 20 63 6f 6e 74 | 72 6f 6c 20 61 6e 64 20 |en, cont|rol and | |00000d80| 63 6c 6f 73 65 0d 72 6f | 75 74 69 6e 65 73 2c 20 |close.ro|utines, | |00000d90| 62 65 20 6e 61 6d 65 64 | 20 6f 70 65 6e 2c 20 63 |be named| open, c| |00000da0| 6f 6e 74 72 6f 6c 20 61 | 6e 64 20 63 6c 6f 73 65 |ontrol a|nd close| |00000db0| 20 28 70 6c 65 61 73 65 | 20 6e 6f 74 65 20 74 68 | (please| note th| |00000dc0| 65 73 65 20 61 72 65 20 | 61 6c 6c 20 6c 6f 77 65 |ese are |all lowe| |00000dd0| 72 63 61 73 65 0d 6c 65 | 74 74 65 72 73 29 2e 20 |rcase.le|tters). | |00000de0| 54 68 65 20 6d 61 63 72 | 6f 20 64 6f 65 73 20 6e |The macr|o does n| |00000df0| 6f 74 20 73 75 70 70 6f | 72 74 20 70 72 69 6d 65 |ot suppo|rt prime| |00000e00| 20 61 6e 64 20 73 74 61 | 74 75 73 20 72 6f 75 74 | and sta|tus rout| |00000e10| 69 6e 65 73 2c 20 61 6e | 64 20 69 74 20 73 68 6f |ines, an|d it sho| |00000e20| 75 6c 64 20 62 65 0d 6e | 6f 74 65 64 20 74 68 61 |uld be.n|oted tha| |00000e30| 74 20 74 68 65 20 64 52 | 65 61 64 45 6e 61 62 6c |t the dR|eadEnabl| |00000e40| 65 2c 20 64 57 72 69 74 | 65 45 6e 61 62 6c 65 20 |e, dWrit|eEnable | |00000e50| 61 6e 64 20 64 53 74 61 | 74 45 6e 61 62 6c 65 20 |and dSta|tEnable | |00000e60| 62 69 74 73 20 6f 66 20 | 74 68 65 20 44 41 20 66 |bits of |the DA f| |00000e70| 6c 61 67 73 0d 77 69 6c | 6c 20 41 4c 57 41 59 53 |lags.wil|l ALWAYS| |00000e80| 20 62 65 20 63 6c 65 61 | 72 65 64 20 62 79 20 74 | be clea|red by t| |00000e90| 68 65 20 6d 61 63 72 6f | 20 65 76 65 6e 20 69 74 |he macro| even it| |00000ea0| 20 74 68 65 20 66 6c 61 | 67 73 20 70 61 72 61 6d | the fla|gs param| |00000eb0| 65 74 65 72 20 64 65 66 | 69 6e 65 73 20 74 68 65 |eter def|ines the| |00000ec0| 6d 20 61 73 0d 73 65 74 | 2e 0d 0d 2a 2a 2a 20 49 |m as.set|...*** I| |00000ed0| 4d 50 4f 52 54 41 4e 54 | 20 2a 2a 2a 20 49 6e 76 |MPORTANT| *** Inv| |00000ee0| 6f 6b 65 20 74 68 69 73 | 20 6d 61 63 72 6f 20 42 |oke this| macro B| |00000ef0| 45 46 4f 52 45 20 64 65 | 63 6c 61 72 69 6e 67 20 |EFORE de|claring | |00000f00| 61 6e 79 20 67 6c 6f 62 | 61 6c 20 76 61 72 69 61 |any glob|al varia| |00000f10| 62 6c 65 73 20 6f 72 0d | 64 65 66 69 6e 69 6e 67 |bles or.|defining| |00000f20| 20 61 6e 79 20 4d 61 63 | 20 43 20 66 75 6e 63 74 | any Mac| C funct| |00000f30| 69 6f 6e 73 21 21 21 0d | 0d 4d 61 63 72 6f 20 70 |ions!!!.|.Macro p| |00000f40| 61 72 61 6d 65 74 65 72 | 73 3a 0d 09 31 09 09 4e |arameter|s:..1..N| |00000f50| 61 6d 65 20 6f 66 20 64 | 65 73 6b 20 61 63 63 65 |ame of d|esk acce| |00000f60| 73 73 6f 72 79 20 28 65 | 6e 63 6c 6f 73 65 20 74 |ssory (e|nclose t| |00000f70| 65 78 74 20 69 6e 20 73 | 69 6e 67 6c 65 20 71 75 |ext in s|ingle qu| |00000f80| 6f 74 65 73 29 0d 09 32 | 09 09 52 65 73 6f 75 72 |otes)..2|..Resour| |00000f90| 63 65 20 49 44 20 6f 66 | 20 64 65 73 6b 20 61 63 |ce ID of| desk ac| |00000fa0| 63 65 73 73 6f 72 79 20 | 28 31 32 2d 33 31 20 69 |cessory |(12-31 i| |00000fb0| 6e 63 6c 75 73 69 76 65 | 29 0d 09 33 09 09 46 6c |nclusive|)..3..Fl| |00000fc0| 61 67 73 0d 09 34 09 09 | 44 65 6c 61 79 0d 09 35 |ags..4..|Delay..5| |00000fd0| 09 09 45 76 65 6e 74 20 | 4d 61 73 6b 0d 09 36 09 |..Event |Mask..6.| |00000fe0| 09 52 65 71 75 65 73 74 | 20 66 6f 72 20 67 6c 6f |.Request| for glo| |00000ff0| 62 61 6c 20 76 61 72 69 | 61 62 6c 65 20 61 6c 6c |bal vari|able all| |00001000| 6f 63 61 74 69 6f 6e 3a | 20 4e 65 65 64 47 6c 6f |ocation:| NeedGlo| |00001010| 62 61 6c 73 20 6f 72 20 | 4e 6f 47 6c 6f 62 61 6c |bals or |NoGlobal| |00001020| 73 0d 0d 2a 2a 2a 20 49 | 4d 50 4f 52 54 41 4e 54 |s..*** I|MPORTANT| |00001030| 20 2a 2a 2a 20 49 66 20 | 70 61 72 61 6d 65 74 65 | *** If |paramete| |00001040| 72 20 36 20 69 73 20 73 | 65 74 20 74 6f 20 4e 65 |r 6 is s|et to Ne| |00001050| 65 64 47 6c 6f 62 61 6c | 73 2c 20 73 65 74 20 74 |edGlobal|s, set t| |00001060| 68 65 20 4d 61 63 20 43 | 20 43 6f 6d 70 69 6c 65 |he Mac C| Compile| |00001070| 72 0d 6f 70 74 69 6f 6e | 20 52 20 65 71 75 61 6c |r.option| R equal| |00001080| 20 74 6f 20 61 64 64 72 | 65 73 73 20 72 65 67 69 | to addr|ess regi| |00001090| 73 74 65 72 20 6e 75 6d | 62 65 72 20 34 20 28 23 |ster num|ber 4 (#| |000010a0| 4f 70 74 69 6f 6e 73 20 | 52 3d 34 29 20 74 6f 20 |Options |R=4) to | |000010b0| 70 72 6f 70 65 72 6c 79 | 20 69 6e 64 65 78 0d 67 |properly| index.g| |000010c0| 6c 6f 62 61 6c 20 76 61 | 72 69 61 62 6c 65 73 2e |lobal va|riables.| |000010d0| 20 49 66 20 74 68 69 73 | 20 69 73 20 6e 6f 74 20 | If this| is not | |000010e0| 73 65 74 2c 20 61 6c 6c | 20 67 6c 6f 62 61 6c 73 |set, all| globals| |000010f0| 20 77 69 6c 6c 20 62 65 | 20 69 6e 76 61 6c 69 64 | will be| invalid| |00001100| 20 61 6e 64 20 61 20 73 | 79 73 74 65 6d 0d 65 72 | and a s|ystem.er| |00001110| 72 6f 72 20 77 69 6c 6c | 20 70 72 6f 62 61 62 6c |ror will| probabl| |00001120| 79 20 6f 63 63 75 72 20 | 61 74 20 72 75 6e 74 69 |y occur |at runti| |00001130| 6d 65 21 21 21 0d 0d 2a | 2a 2a 20 49 4d 50 4f 52 |me!!!..*|** IMPOR| |00001140| 54 41 4e 54 20 2a 2a 2a | 20 49 66 20 70 61 72 61 |TANT ***| If para| |00001150| 6d 65 74 65 72 20 36 20 | 69 73 20 73 65 74 20 74 |meter 6 |is set t| |00001160| 6f 20 4e 65 65 64 47 6c | 6f 62 61 6c 73 2c 20 61 |o NeedGl|obals, a| |00001170| 6e 64 20 6e 6f 20 67 6c | 6f 62 61 6c 73 20 61 72 |nd no gl|obals ar| |00001180| 65 0d 64 65 63 6c 61 72 | 65 64 20 69 6e 20 74 68 |e.declar|ed in th| |00001190| 65 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 73 6f 75 72 |e follow|ing sour| |000011a0| 63 65 2c 20 61 20 73 79 | 73 74 65 6d 20 65 72 72 |ce, a sy|stem err| |000011b0| 6f 72 20 6d 61 79 20 6f | 63 63 75 72 20 61 74 20 |or may o|ccur at | |000011c0| 72 75 6e 74 69 6d 65 21 | 21 21 0d 0d 2a 2a 2a 20 |runtime!|!!..*** | |000011d0| 49 4d 50 4f 52 54 41 4e | 54 20 2a 2a 2a 20 41 6c |IMPORTAN|T *** Al| |000011e0| 6c 20 67 6c 6f 62 61 6c | 20 76 61 72 69 61 62 6c |l global| variabl| |000011f0| 65 73 20 77 69 6c 6c 20 | 62 65 20 69 6e 69 74 69 |es will |be initi| |00001200| 61 6c 69 7a 65 64 20 74 | 6f 20 7a 65 72 6f 21 21 |alized t|o zero!!| |00001210| 21 0d 0d 2a 2a 2a 20 49 | 4d 50 4f 52 54 41 4e 54 |!..*** I|MPORTANT| |00001220| 20 2a 2a 2a 20 41 6e 79 | 20 6f 74 68 65 72 20 72 | *** Any| other r| |00001230| 65 73 6f 75 72 63 65 73 | 20 69 6e 63 6c 75 64 65 |esources| include| |00001240| 64 20 61 74 20 6c 69 6e | 6b 20 74 69 6d 65 20 73 |d at lin|k time s| |00001250| 68 6f 75 6c 64 20 6c 61 | 74 65 72 20 62 65 0d 73 |hould la|ter be.s| |00001260| 65 74 20 74 6f 20 70 75 | 72 67 65 61 62 6c 65 20 |et to pu|rgeable | |00001270| 28 65 78 63 65 70 74 20 | 70 6f 73 73 69 62 6c 79 |(except |possibly| |00001280| 20 4d 45 4e 55 73 29 20 | 75 73 69 6e 67 20 52 65 | MENUs) |using Re| |00001290| 73 45 64 69 74 2e 20 54 | 68 65 20 6d 61 63 72 6f |sEdit. T|he macro| |000012a0| 20 70 72 65 73 65 74 73 | 20 74 68 65 0d 44 52 56 | presets| the.DRV| |000012b0| 52 20 72 65 73 6f 75 72 | 63 65 20 61 73 20 70 75 |R resour|ce as pu| |000012c0| 72 67 65 61 62 6c 65 2c | 20 62 75 74 20 69 74 20 |rgeable,| but it | |000012d0| 64 6f 65 73 20 6e 6f 74 | 20 63 6f 72 72 65 63 74 |does not| correct| |000012e0| 6c 79 20 73 65 74 20 74 | 68 65 20 6e 61 6d 65 20 |ly set t|he name | |000012f0| 66 6f 72 6d 61 74 20 66 | 6f 72 20 61 0d 44 41 2e |format f|or a.DA.| |00001300| 20 54 68 69 73 20 69 73 | 20 62 65 63 61 75 73 65 | This is| because| |00001310| 20 74 68 65 20 61 73 73 | 65 6d 62 6c 79 20 6c 61 | the ass|embly la| |00001320| 6e 67 75 61 67 65 20 52 | 45 53 4f 55 52 43 45 20 |nguage R|ESOURCE | |00001330| 64 69 72 65 63 74 69 76 | 65 20 69 6e 20 44 41 48 |directiv|e in DAH| |00001340| 65 61 64 65 72 2e 61 73 | 6d 0d 77 69 6c 6c 20 6e |eader.as|m.will n| |00001350| 6f 74 20 61 6c 6c 6f 77 | 20 61 20 6e 75 6c 6c 20 |ot allow| a null | |00001360| 62 79 74 65 20 74 6f 20 | 70 72 65 63 65 64 65 20 |byte to |precede | |00001370| 74 68 65 20 6e 61 6d 65 | 2e 20 41 66 74 65 72 20 |the name|. After | |00001380| 6c 69 6e 6b 69 6e 67 2c | 20 52 65 73 45 64 69 74 |linking,| ResEdit| |00001390| 20 63 61 6e 20 62 65 0d | 75 73 65 64 20 74 6f 20 | can be.|used to | |000013a0| 73 65 74 20 74 68 65 20 | 6e 61 6d 65 20 70 72 6f |set the |name pro| |000013b0| 70 65 72 6c 79 2e 20 48 | 6f 77 65 76 65 72 2c 20 |perly. H|owever, | |000013c0| 69 66 20 74 68 65 20 44 | 41 20 69 73 20 6d 6f 76 |if the D|A is mov| |000013d0| 65 64 20 69 6e 74 6f 20 | 61 20 66 69 6c 65 20 75 |ed into |a file u| |000013e0| 73 69 6e 67 0d 46 6f 6e | 74 2f 44 41 20 4d 6f 76 |sing.Fon|t/DA Mov| |000013f0| 65 72 2c 20 69 74 73 20 | 6e 61 6d 65 20 77 69 6c |er, its |name wil| |00001400| 6c 20 62 65 20 61 75 74 | 6f 6d 61 74 69 63 61 6c |l be aut|omatical| |00001410| 6c 79 20 62 65 20 73 65 | 74 20 74 6f 20 74 68 65 |ly be se|t to the| |00001420| 20 70 72 6f 70 65 72 20 | 66 6f 72 6d 61 74 2e 20 | proper |format. | |00001430| 2a 2f 0d 0d 23 61 73 6d | 0d 0d 44 65 73 6b 41 63 |*/..#asm|..DeskAc| |00001440| 63 65 73 73 6f 72 79 20 | 27 43 6c 6f 63 6b 27 2c |cessory |'Clock',| |00001450| 31 32 2c 24 32 34 30 30 | 2c 24 30 30 31 30 2c 24 |12,$2400|,$0010,$| |00001460| 30 31 34 32 2c 4e 65 65 | 64 47 6c 6f 62 61 6c 73 |0142,Nee|dGlobals| |00001470| 0d 0d 23 65 6e 64 61 73 | 6d 0d 0d 2f 2a 0d 2d 2d |..#endas|m../*.--| |00001480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00001490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000014a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000014b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000014c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 46 |--------|------.F| |000014d0| 4f 52 57 41 52 44 20 52 | 45 46 45 52 45 4e 43 45 |ORWARD R|EFERENCE| |000014e0| 53 20 2a 2f 0d 0d 64 6f | 4d 6f 64 61 6c 28 29 3b |S */..do|Modal();| |000014f0| 0d 0d 2f 2a 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*.---|--------| |00001500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00001510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00001520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00001530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00001540| 2d 2d 2d 2d 2d 0d 47 4c | 4f 42 41 4c 20 56 41 52 |-----.GL|OBAL VAR| |00001550| 49 41 42 4c 45 53 20 2a | 2f 0d 0d 44 69 61 6c 6f |IABLES *|/..Dialo| |00001560| 67 50 74 72 20 63 6c 6f | 63 6b 44 69 61 6c 6f 67 |gPtr clo|ckDialog| |00001570| 3b 0d 73 68 6f 72 74 20 | 6f 77 6e 65 64 49 44 3b |;.short |ownedID;| |00001580| 0d 4d 65 6e 75 48 61 6e | 64 6c 65 20 68 43 6c 6f |.MenuHan|dle hClo| |00001590| 63 6b 4d 65 6e 75 3b 0d | 6c 6f 6e 67 20 6f 6c 64 |ckMenu;.|long old| |000015a0| 44 61 74 65 54 69 6d 65 | 3b 0d 53 74 72 32 35 35 |DateTime|;.Str255| |000015b0| 20 6f 6c 64 44 54 53 74 | 72 69 6e 67 3b 0d 48 61 | oldDTSt|ring;.Ha| |000015c0| 6e 64 6c 65 20 68 44 69 | 73 70 6c 61 79 3b 0d 52 |ndle hDi|splay;.R| |000015d0| 65 63 74 20 64 69 73 70 | 6c 61 79 52 65 63 74 3b |ect disp|layRect;| |000015e0| 0d 73 68 6f 72 74 20 74 | 65 78 74 4c 65 66 74 2c |.short t|extLeft,| |000015f0| 20 74 65 78 74 42 61 73 | 65 3b 0d 73 68 6f 72 74 | textBas|e;.short| |00001600| 20 63 6c 6f 63 6b 46 6f | 72 6d 61 74 2c 20 63 6c | clockFo|rmat, cl| |00001610| 6f 63 6b 53 65 6c 65 63 | 74 69 6f 6e 3b 0d 73 68 |ockSelec|tion;.sh| |00001620| 6f 72 74 20 63 6c 6f 63 | 6b 44 69 72 74 79 3b 0d |ort cloc|kDirty;.| |00001630| 73 68 6f 72 74 20 6f 6c | 64 57 69 64 74 68 3b 0d |short ol|dWidth;.| |00001640| 0d 2f 2a 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |./*.----|--------| |00001650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00001660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00001670| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00001680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00001690| 2d 2d 2d 2d 0d 4f 50 45 | 4e 20 43 4c 4f 43 4b 0d |----.OPE|N CLOCK.| |000016a0| 43 61 6c 63 75 6c 61 74 | 69 6e 67 20 74 68 65 20 |Calculat|ing the | |000016b0| 6f 77 6e 65 64 49 44 20 | 61 6e 64 20 73 65 74 74 |ownedID |and sett| |000016c0| 69 6e 67 20 74 68 65 20 | 64 43 74 6c 4d 65 6e 75 |ing the |dCtlMenu| |000016d0| 20 69 73 20 64 6f 6e 65 | 20 62 65 66 6f 72 65 20 | is done| before | |000016e0| 63 68 65 63 6b 69 6e 67 | 20 69 66 20 74 68 65 0d |checking| if the.| |000016f0| 44 41 20 69 73 20 61 6c | 72 65 61 64 79 20 6f 70 |DA is al|ready op| |00001700| 65 6e 2c 20 62 65 63 61 | 75 73 65 20 61 6e 20 6f |en, beca|use an o| |00001710| 70 65 6e 20 63 61 6c 6c | 20 63 61 6e 20 63 6f 6d |pen call| can com| |00001720| 65 20 77 68 69 6c 65 20 | 74 68 65 20 44 41 20 69 |e while |the DA i| |00001730| 73 20 61 63 74 69 76 65 | 2e 20 54 68 65 0d 44 65 |s active|. The.De| |00001740| 73 6b 20 4d 61 6e 61 67 | 65 72 20 72 65 73 65 74 |sk Manag|er reset| |00001750| 73 20 64 43 74 6c 4d 65 | 6e 75 20 74 6f 20 77 68 |s dCtlMe|nu to wh| |00001760| 61 74 65 76 65 72 20 69 | 73 20 69 6e 20 74 68 65 |atever i|s in the| |00001770| 20 44 41 20 68 65 61 64 | 65 72 20 28 69 6e 20 74 | DA head|er (in t| |00001780| 68 69 73 20 63 61 73 65 | 20 7a 65 72 6f 29 0d 65 |his case| zero).e| |00001790| 76 65 72 79 20 74 69 6d | 65 20 61 20 44 41 20 69 |very tim|e a DA i| |000017a0| 73 20 6f 70 65 6e 2c 20 | 73 6f 20 64 43 74 6c 4d |s open, |so dCtlM| |000017b0| 65 6e 75 20 6d 75 73 74 | 20 62 65 20 72 65 69 6e |enu must| be rein| |000017c0| 69 74 69 61 6c 69 7a 65 | 64 2e 20 49 74 20 69 73 |itialize|d. It is| |000017d0| 20 61 63 74 75 61 6c 6c | 79 0d 75 6e 65 63 65 73 | actuall|y.uneces| |000017e0| 73 61 72 79 20 74 6f 20 | 72 65 63 61 6c 63 75 6c |sary to |recalcul| |000017f0| 61 74 65 20 74 68 65 20 | 6f 77 6e 65 64 49 44 20 |ate the |ownedID | |00001800| 65 76 65 72 79 20 74 69 | 6d 65 20 6f 70 65 6e 28 |every ti|me open(| |00001810| 29 20 69 73 20 63 61 6c | 6c 65 64 2e 20 48 6f 77 |) is cal|led. How| |00001820| 65 76 65 72 2c 0d 70 6c | 61 63 69 6e 67 20 69 74 |ever,.pl|acing it| |00001830| 20 68 65 72 65 20 73 61 | 76 65 73 20 63 6f 64 65 | here sa|ves code| |00001840| 20 73 70 61 63 65 2e 0d | 0d 2a 2a 2a 20 49 4d 50 | space..|.*** IMP| |00001850| 4f 52 54 41 4e 54 20 2a | 2a 2a 20 54 68 65 20 77 |ORTANT *|** The w| |00001860| 69 6e 64 6f 77 4b 69 6e | 64 20 66 69 65 6c 64 20 |indowKin|d field | |00001870| 6f 66 20 74 68 65 20 70 | 72 69 6d 61 72 79 20 44 |of the p|rimary D| |00001880| 41 20 77 69 6e 64 6f 77 | 20 73 68 6f 75 6c 64 20 |A window| should | |00001890| 61 6c 77 61 79 73 20 62 | 65 0d 73 65 74 20 65 71 |always b|e.set eq| |000018a0| 75 61 6c 20 74 6f 20 74 | 68 65 20 64 43 74 6c 52 |ual to t|he dCtlR| |000018b0| 65 66 4e 75 6d 20 66 69 | 65 6c 64 20 6f 66 20 74 |efNum fi|eld of t| |000018c0| 68 65 20 64 65 76 69 63 | 65 20 63 6f 6e 74 72 6f |he devic|e contro| |000018d0| 6c 20 65 6e 74 72 79 2e | 20 54 68 65 20 73 79 73 |l entry.| The sys| |000018e0| 74 65 6d 20 6e 65 65 64 | 73 0d 61 20 6e 65 67 61 |tem need|s.a nega| |000018f0| 74 69 76 65 20 6e 75 6d | 62 65 72 20 69 6e 20 74 |tive num|ber in t| |00001900| 68 69 73 20 66 69 65 6c | 64 20 74 6f 20 72 65 63 |his fiel|d to rec| |00001910| 6f 67 6e 69 7a 65 20 74 | 68 65 20 77 69 6e 64 6f |ognize t|he windo| |00001920| 77 20 61 73 20 62 65 6c | 6f 6e 67 69 6e 67 20 74 |w as bel|onging t| |00001930| 6f 20 61 20 44 41 2c 0d | 61 6e 64 20 61 20 73 70 |o a DA,.|and a sp| |00001940| 65 63 69 66 69 63 20 6e | 75 6d 62 65 72 20 69 64 |ecific n|umber id| |00001950| 65 6e 74 69 66 69 65 73 | 20 61 20 73 70 65 63 69 |entifies| a speci| |00001960| 66 69 63 20 44 41 2e 0d | 0d 53 65 74 74 69 6e 67 |fic DA..|.Setting| |00001970| 20 74 68 65 20 70 6f 72 | 74 20 74 6f 20 74 68 65 | the por|t to the| |00001980| 20 63 6c 6f 63 6b 20 64 | 69 61 6c 6f 67 20 69 73 | clock d|ialog is| |00001990| 20 64 6f 6e 65 20 68 65 | 72 65 20 62 65 63 61 75 | done he|re becau| |000019a0| 73 65 20 74 68 65 20 54 | 65 78 74 4d 6f 64 65 20 |se the T|extMode | |000019b0| 6f 66 20 74 68 65 0d 67 | 72 61 66 50 6f 72 74 20 |of the.g|rafPort | |000019c0| 69 73 20 73 65 74 20 74 | 6f 20 73 63 72 43 6f 70 |is set t|o scrCop| |000019d0| 79 2e 20 47 65 74 74 69 | 6e 67 20 61 6e 64 20 72 |y. Getti|ng and r| |000019e0| 65 73 74 6f 72 69 6e 67 | 20 74 68 65 20 6f 6c 64 |estoring| the old| |000019f0| 20 70 6f 72 74 20 69 73 | 20 61 6c 73 6f 20 61 20 | port is| also a | |00001a00| 67 6f 6f 64 0d 69 64 65 | 61 2c 20 68 6f 77 65 76 |good.ide|a, howev| |00001a10| 65 72 20 65 76 65 72 79 | 74 68 69 6e 67 20 77 6f |er every|thing wo| |00001a20| 72 6b 73 20 70 72 6f 70 | 65 72 6c 79 20 69 66 20 |rks prop|erly if | |00001a30| 74 68 69 73 20 69 73 20 | 6e 6f 74 20 64 6f 6e 65 |this is |not done| |00001a40| 2e 0d 0d 54 6f 20 6b 65 | 65 70 20 74 68 65 20 44 |...To ke|ep the D| |00001a50| 41 20 77 69 6e 64 6f 77 | 20 70 6f 69 6e 74 65 72 |A window| pointer| |00001a60| 20 61 77 61 79 20 66 72 | 6f 6d 20 6f 74 68 65 72 | away fr|om other| |00001a70| 20 6e 6f 6e 72 65 6c 6f | 63 61 74 61 62 6c 65 20 | nonrelo|catable | |00001a80| 62 6c 6f 63 6b 73 20 61 | 74 20 74 68 65 0d 62 6f |blocks a|t the.bo| |00001a90| 74 74 6f 6d 20 6f 66 20 | 74 68 65 20 68 65 61 70 |ttom of |the heap| |00001aa0| 2c 20 61 20 34 4b 20 74 | 65 6d 70 6f 72 61 72 79 |, a 4K t|emporary| |00001ab0| 20 73 70 61 63 65 20 69 | 73 20 61 6c 6c 6f 63 61 | space i|s alloca| |00001ac0| 74 65 64 20 62 65 66 6f | 72 65 20 74 68 65 20 44 |ted befo|re the D| |00001ad0| 41 20 77 69 6e 64 6f 77 | 0d 70 6f 69 6e 74 65 72 |A window|.pointer| |00001ae0| 20 69 73 20 61 6c 6c 6f | 63 61 74 65 64 2e 20 4c | is allo|cated. L| |00001af0| 61 74 65 72 20 69 74 20 | 69 73 20 64 69 73 70 6f |ater it |is dispo| |00001b00| 73 65 64 20 6f 66 20 6f | 6e 20 61 6e 20 65 72 72 |sed of o|n an err| |00001b10| 6f 72 20 6f 72 20 65 78 | 69 74 20 6f 66 20 6f 70 |or or ex|it of op| |00001b20| 65 6e 28 29 2e 0d 54 68 | 69 73 20 70 72 65 76 65 |en()..Th|is preve| |00001b30| 6e 74 73 20 70 6f 73 73 | 69 62 6c 65 20 68 65 61 |nts poss|ible hea| |00001b40| 70 20 66 72 61 67 6d 65 | 6e 74 61 74 69 6f 6e 2e |p fragme|ntation.| |00001b50| 20 41 6e 20 61 70 70 6c | 69 63 61 74 69 6f 6e 20 | An appl|ication | |00001b60| 63 61 6e 20 61 6c 6c 6f | 63 61 74 65 20 6d 6f 72 |can allo|cate mor| |00001b70| 65 0d 6e 6f 6e 72 65 6c | 6f 63 61 74 61 62 6c 65 |e.nonrel|ocatable| |00001b80| 20 62 6c 6f 63 6b 73 20 | 77 68 69 6c 65 20 61 20 | blocks |while a | |00001b90| 44 41 20 69 73 20 61 63 | 74 69 76 65 2c 20 61 6e |DA is ac|tive, an| |00001ba0| 64 20 74 68 65 72 65 66 | 6f 72 65 20 63 61 6e 20 |d theref|ore can | |00001bb0| 63 72 65 61 74 65 20 61 | 20 68 6f 6c 65 20 74 6f |create a| hole to| |00001bc0| 0d 73 6d 61 6c 6c 20 74 | 6f 20 72 65 61 6c 6c 6f |.small t|o reallo| |00001bd0| 63 61 74 65 20 77 68 65 | 6e 20 74 68 65 20 44 41 |cate whe|n the DA| |00001be0| 20 69 73 20 63 6c 6f 73 | 65 64 20 61 6e 64 20 69 | is clos|ed and i| |00001bf0| 74 73 20 77 69 6e 64 6f | 77 20 70 6f 69 6e 74 65 |ts windo|w pointe| |00001c00| 72 20 69 73 20 72 65 6d | 6f 76 65 64 0d 66 72 6f |r is rem|oved.fro| |00001c10| 6d 20 74 68 65 20 68 65 | 61 70 2e 20 54 68 69 73 |m the he|ap. This| |00001c20| 20 44 41 20 61 6c 73 6f | 20 63 61 75 73 65 73 20 | DA also| causes | |00001c30| 50 61 63 6b 36 20 74 6f | 20 62 65 20 6c 6f 61 64 |Pack6 to| be load| |00001c40| 65 64 20 6f 6e 20 74 6f | 20 74 68 65 20 68 65 61 |ed on to| the hea| |00001c50| 70 2e 20 50 61 63 6b 36 | 0d 69 73 20 61 20 6c 6f |p. Pack6|.is a lo| |00001c60| 63 6b 65 64 20 72 65 73 | 6f 75 72 63 65 20 77 68 |cked res|ource wh| |00001c70| 69 63 68 20 77 69 6c 6c | 20 72 65 6d 61 69 6e 20 |ich will| remain | |00001c80| 6f 6e 20 74 68 65 20 68 | 65 61 70 20 75 6e 74 69 |on the h|eap unti| |00001c90| 6c 20 74 68 65 20 68 65 | 61 70 20 69 73 0d 72 65 |l the he|ap is.re| |00001ca0| 69 6e 69 74 69 61 6c 69 | 7a 65 64 2e 0d 0d 54 68 |initiali|zed...Th| |00001cb0| 65 20 4d 45 4e 55 20 72 | 65 73 6f 75 72 63 65 20 |e MENU r|esource | |00001cc0| 69 73 20 6d 61 64 65 20 | 75 6e 70 75 72 67 65 61 |is made |unpurgea| |00001cd0| 62 6c 65 20 68 65 72 65 | 20 62 65 63 61 75 73 65 |ble here| because| |00001ce0| 20 6f 74 68 65 72 20 65 | 76 65 6e 74 73 20 6d 61 | other e|vents ma| |00001cf0| 79 20 63 61 75 73 65 20 | 68 65 61 70 0d 63 6f 6d |y cause |heap.com| |00001d00| 70 61 63 74 69 6f 6e 2c | 20 70 75 72 67 65 20 74 |paction,| purge t| |00001d10| 68 65 20 6d 65 6e 75 2c | 20 61 6e 64 20 69 6e 76 |he menu,| and inv| |00001d20| 61 6c 69 64 61 74 65 20 | 74 68 65 20 6d 65 6e 75 |alidate |the menu| |00001d30| 20 68 61 6e 64 6c 65 2e | 20 54 68 65 20 6d 65 6e | handle.| The men| |00001d40| 75 20 69 73 20 72 65 6c | 65 61 73 65 64 0d 66 72 |u is rel|eased.fr| |00001d50| 6f 6d 20 74 68 65 20 68 | 65 61 70 20 64 75 72 69 |om the h|eap duri| |00001d60| 6e 67 20 74 68 65 20 44 | 41 20 63 6c 6f 73 65 28 |ng the D|A close(| |00001d70| 29 20 66 75 6e 63 74 69 | 6f 6e 2e 0d 0d 49 74 27 |) functi|on...It'| |00001d80| 73 20 75 6e 6e 65 63 65 | 73 73 61 72 79 20 66 6f |s unnece|ssary fo| |00001d90| 72 20 74 68 69 73 20 66 | 75 6e 63 74 69 6f 6e 20 |r this f|unction | |00001da0| 74 6f 20 64 72 61 77 20 | 74 68 65 20 63 6c 6f 63 |to draw |the cloc| |00001db0| 6b 20 64 69 73 70 6c 61 | 79 20 6f 72 20 69 6e 73 |k displa|y or ins| |00001dc0| 65 72 74 20 74 68 65 20 | 63 6c 6f 63 6b 0d 6d 65 |ert the |clock.me| |00001dd0| 6e 75 20 62 65 63 61 75 | 73 65 20 75 70 64 61 74 |nu becau|se updat| |00001de0| 65 20 61 6e 64 20 61 63 | 74 69 76 61 74 65 20 65 |e and ac|tivate e| |00001df0| 76 65 6e 74 73 20 61 72 | 65 20 67 65 6e 65 72 61 |vents ar|e genera| |00001e00| 74 65 64 20 77 68 65 6e | 65 76 65 72 20 61 20 44 |ted when|ever a D| |00001e10| 41 20 69 73 20 66 69 72 | 73 74 0d 6f 70 65 6e 65 |A is fir|st.opene| |00001e20| 64 2e 20 2a 2f 0d 0d 0d | 73 68 6f 72 74 20 6f 70 |d. */...|short op| |00001e30| 65 6e 28 70 62 2c 20 64 | 63 65 29 0d 09 43 6e 74 |en(pb, d|ce)..Cnt| |00001e40| 72 6c 50 61 72 61 6d 20 | 2a 70 62 3b 0d 09 44 43 |rlParam |*pb;..DC| |00001e50| 45 6e 74 72 79 20 2a 64 | 63 65 3b 0d 09 7b 0d 09 |Entry *d|ce;..{..| |00001e60| 47 72 61 66 50 74 72 20 | 6f 6c 64 50 6f 72 74 3b |GrafPtr |oldPort;| |00001e70| 0d 09 50 74 72 20 66 72 | 65 65 42 6c 6f 63 6b 3b |..Ptr fr|eeBlock;| |00001e80| 0d 09 52 65 73 54 79 70 | 65 20 64 75 6d 6d 79 54 |..ResTyp|e dummyT| |00001e90| 79 70 65 3b 0d 09 46 6f | 6e 74 49 6e 66 6f 20 74 |ype;..Fo|ntInfo t| |00001ea0| 68 65 46 6f 6e 74 49 6e | 66 6f 3b 0d 0d 09 6f 77 |heFontIn|fo;...ow| |00001eb0| 6e 65 64 49 44 20 3d 20 | 30 78 43 30 30 30 20 2d |nedID = |0xC000 -| |00001ec0| 20 28 33 32 20 2a 20 28 | 31 20 2b 20 64 63 65 2d | (32 * (|1 + dce-| |00001ed0| 3e 64 43 74 6c 52 65 66 | 4e 75 6d 29 29 3b 0d 09 |>dCtlRef|Num));..| |00001ee0| 64 63 65 2d 3e 64 43 74 | 6c 4d 65 6e 75 20 3d 20 |dce->dCt|lMenu = | |00001ef0| 6f 77 6e 65 64 49 44 3b | 0d 0d 09 69 66 20 28 21 |ownedID;|...if (!| |00001f00| 64 63 65 2d 3e 64 43 74 | 6c 57 69 6e 64 6f 77 29 |dce->dCt|lWindow)| |00001f10| 0d 09 09 7b 0d 09 09 47 | 65 74 50 6f 72 74 28 26 |...{...G|etPort(&| |00001f20| 6f 6c 64 50 6f 72 74 29 | 3b 0d 0d 09 09 69 66 20 |oldPort)|;....if | |00001f30| 28 21 28 66 72 65 65 42 | 6c 6f 63 6b 20 3d 20 4e |(!(freeB|lock = N| |00001f40| 65 77 50 74 72 28 46 52 | 45 45 5f 42 4c 4f 43 4b |ewPtr(FR|EE_BLOCK| |00001f50| 5f 53 49 5a 45 29 29 29 | 0d 09 09 09 72 65 74 75 |_SIZE)))|....retu| |00001f60| 72 6e 20 2d 31 3b 0d 0d | 09 09 69 66 20 28 21 28 |rn -1;..|..if (!(| |00001f70| 63 6c 6f 63 6b 44 69 61 | 6c 6f 67 20 3d 20 28 44 |clockDia|log = (D| |00001f80| 69 61 6c 6f 67 50 74 72 | 29 20 4e 65 77 50 74 72 |ialogPtr|) NewPtr| |00001f90| 28 73 69 7a 65 6f 66 28 | 44 69 61 6c 6f 67 52 65 |(sizeof(|DialogRe| |00001fa0| 63 6f 72 64 29 29 29 29 | 0d 09 09 09 7b 0d 09 09 |cord))))|....{...| |00001fb0| 09 44 69 73 70 6f 73 50 | 74 72 28 66 72 65 65 42 |.DisposP|tr(freeB| |00001fc0| 6c 6f 63 6b 29 3b 0d 09 | 09 09 72 65 74 75 72 6e |lock);..|..return| |00001fd0| 20 2d 31 3b 0d 09 09 09 | 7d 0d 09 09 63 6c 6f 63 | -1;....|}...cloc| |00001fe0| 6b 44 69 61 6c 6f 67 20 | 3d 20 47 65 74 4e 65 77 |kDialog |= GetNew| |00001ff0| 44 69 61 6c 6f 67 28 6f | 77 6e 65 64 49 44 2c 20 |Dialog(o|wnedID, | |00002000| 63 6c 6f 63 6b 44 69 61 | 6c 6f 67 2c 20 46 52 4f |clockDia|log, FRO| |00002010| 4e 54 5f 57 49 4e 44 4f | 57 29 3b 0d 09 09 28 28 |NT_WINDO|W);...((| |00002020| 57 69 6e 64 6f 77 50 65 | 65 6b 29 20 63 6c 6f 63 |WindowPe|ek) cloc| |00002030| 6b 44 69 61 6c 6f 67 29 | 2d 3e 77 69 6e 64 6f 77 |kDialog)|->window| |00002040| 4b 69 6e 64 20 3d 20 64 | 63 65 2d 3e 64 43 74 6c |Kind = d|ce->dCtl| |00002050| 52 65 66 4e 75 6d 3b 0d | 09 09 64 63 65 2d 3e 64 |RefNum;.|..dce->d| |00002060| 43 74 6c 57 69 6e 64 6f | 77 20 3d 20 28 50 74 72 |CtlWindo|w = (Ptr| |00002070| 29 20 63 6c 6f 63 6b 44 | 69 61 6c 6f 67 3b 0d 09 |) clockD|ialog;..| |00002080| 09 53 65 74 50 6f 72 74 | 28 28 47 72 61 66 50 74 |.SetPort|((GrafPt| |00002090| 72 29 20 63 6c 6f 63 6b | 44 69 61 6c 6f 67 29 3b |r) clock|Dialog);| |000020a0| 0d 09 09 54 65 78 74 4d | 6f 64 65 28 73 72 63 43 |...TextM|ode(srcC| |000020b0| 6f 70 79 29 3b 0d 09 0d | 09 09 68 43 6c 6f 63 6b |opy);...|..hClock| |000020c0| 4d 65 6e 75 20 3d 20 47 | 65 74 4d 65 6e 75 28 6f |Menu = G|etMenu(o| |000020d0| 77 6e 65 64 49 44 29 3b | 0d 09 09 48 4e 6f 50 75 |wnedID);|...HNoPu| |000020e0| 72 67 65 28 68 43 6c 6f | 63 6b 4d 65 6e 75 29 3b |rge(hClo|ckMenu);| |000020f0| 0d 0d 09 09 47 65 74 44 | 49 74 65 6d 28 63 6c 6f |....GetD|Item(clo| |00002100| 63 6b 44 69 61 6c 6f 67 | 2c 20 44 49 53 50 4c 41 |ckDialog|, DISPLA| |00002110| 59 5f 49 54 45 4d 2c 20 | 26 64 75 6d 6d 79 54 79 |Y_ITEM, |&dummyTy| |00002120| 70 65 2c 20 26 68 44 69 | 73 70 6c 61 79 2c 20 26 |pe, &hDi|splay, &| |00002130| 64 69 73 70 6c 61 79 52 | 65 63 74 29 3b 0d 09 09 |displayR|ect);...| |00002140| 47 65 74 46 6f 6e 74 49 | 6e 66 6f 28 26 74 68 65 |GetFontI|nfo(&the| |00002150| 46 6f 6e 74 49 6e 66 6f | 29 3b 0d 09 09 74 65 78 |FontInfo|);...tex| |00002160| 74 4c 65 66 74 20 3d 20 | 64 69 73 70 6c 61 79 52 |tLeft = |displayR| |00002170| 65 63 74 2e 6c 65 66 74 | 3b 0d 09 09 74 65 78 74 |ect.left|;...text| |00002180| 42 61 73 65 20 3d 20 64 | 69 73 70 6c 61 79 52 65 |Base = d|isplayRe| |00002190| 63 74 2e 74 6f 70 20 2b | 20 74 68 65 46 6f 6e 74 |ct.top +| theFont| |000021a0| 49 6e 66 6f 2e 61 73 63 | 65 6e 74 3b 0d 09 09 63 |Info.asc|ent;...c| |000021b0| 6c 6f 63 6b 46 6f 72 6d | 61 74 20 3d 20 57 41 4e |lockForm|at = WAN| |000021c0| 54 5f 53 45 43 4f 4e 44 | 53 3b 0d 09 09 63 6c 6f |T_SECOND|S;...clo| |000021d0| 63 6b 53 65 6c 65 63 74 | 69 6f 6e 20 3d 20 54 49 |ckSelect|ion = TI| |000021e0| 4d 45 5f 53 45 4c 45 43 | 54 49 4f 4e 3b 0d 0d 09 |ME_SELEC|TION;...| |000021f0| 09 44 69 73 70 6f 73 50 | 74 72 28 66 72 65 65 42 |.DisposP|tr(freeB| |00002200| 6c 6f 63 6b 29 3b 0d 0d | 09 09 53 65 74 50 6f 72 |lock);..|..SetPor| |00002210| 74 28 6f 6c 64 50 6f 72 | 74 29 3b 0d 09 09 7d 0d |t(oldPor|t);...}.| |00002220| 09 72 65 74 75 72 6e 20 | 30 3b 0d 09 7d 0d 0d 2f |.return |0;..}../| |00002230| 2a 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*.------|--------| |00002240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002280| 2d 2d 0d 43 4c 4f 53 45 | 20 43 4c 4f 43 4b 20 0d |--.CLOSE| CLOCK .| |00002290| 54 68 65 20 4d 45 4e 55 | 20 72 65 73 6f 75 72 63 |The MENU| resourc| |000022a0| 65 20 6d 75 73 74 20 62 | 65 20 72 65 6c 65 61 73 |e must b|e releas| |000022b0| 65 64 20 66 72 6f 6d 20 | 74 68 65 20 68 65 61 70 |ed from |the heap| |000022c0| 20 68 65 72 65 20 62 65 | 63 61 75 73 65 20 61 6e | here be|cause an| |000022d0| 20 65 72 72 6f 72 20 77 | 69 6c 6c 0d 61 6c 77 61 | error w|ill.alwa| |000022e0| 79 73 20 6f 63 63 75 72 | 20 64 75 72 69 6e 67 20 |ys occur| during | |000022f0| 74 68 65 20 6e 65 78 74 | 20 63 61 6c 6c 20 74 6f |the next| call to| |00002300| 20 47 65 74 4d 65 6e 75 | 28 29 20 69 6e 20 74 68 | GetMenu|() in th| |00002310| 65 20 6f 70 65 6e 28 29 | 20 66 75 6e 63 74 69 6f |e open()| functio| |00002320| 6e 20 28 77 68 65 6e 20 | 74 68 65 0d 44 41 20 69 |n (when |the.DA i| |00002330| 73 20 73 65 6c 65 63 74 | 65 64 20 61 67 61 69 6e |s select|ed again| |00002340| 20 66 72 6f 6d 20 74 68 | 65 20 41 70 70 6c 65 20 | from th|e Apple | |00002350| 6d 65 6e 75 29 20 4f 4e | 4c 59 20 64 75 72 69 6e |menu) ON|LY durin| |00002360| 67 20 74 68 65 20 6f 70 | 65 72 61 74 69 6f 6e 20 |g the op|eration | |00002370| 6f 66 20 46 69 6e 64 65 | 72 0d 76 65 72 73 69 6f |of Finde|r.versio| |00002380| 6e 73 20 35 2e 30 20 61 | 6e 64 20 61 62 6f 76 65 |ns 5.0 a|nd above| |00002390| 20 6f 6e 20 74 68 65 20 | 6f 6c 64 65 72 20 36 34 | on the |older 64| |000023a0| 4b 20 52 4f 4d 73 2e 20 | 41 73 20 6f 66 20 74 68 |K ROMs. |As of th| |000023b0| 69 73 20 77 72 69 74 69 | 6e 67 2c 20 6e 6f 20 6f |is writi|ng, no o| |000023c0| 74 68 65 72 0d 61 70 70 | 6c 69 63 61 74 69 6f 6e |ther.app|lication| |000023d0| 20 65 6e 76 69 72 6f 6e | 6d 65 6e 74 73 20 70 72 | environ|ments pr| |000023e0| 6f 64 75 63 65 20 74 68 | 65 20 65 72 72 6f 72 2e |oduce th|e error.| |000023f0| 20 4e 6f 72 6d 61 6c 6c | 79 2c 20 74 68 65 20 4d | Normall|y, the M| |00002400| 45 4e 55 20 72 65 73 6f | 75 72 63 65 20 77 6f 75 |ENU reso|urce wou| |00002410| 6c 64 0d 6f 6e 6c 79 20 | 6e 65 65 64 20 74 6f 20 |ld.only |need to | |00002420| 62 65 20 6d 61 64 65 20 | 70 75 72 67 65 61 62 6c |be made |purgeabl| |00002430| 65 2e 0d 0d 57 68 65 6e | 20 47 65 74 4d 65 6e 75 |e...When| GetMenu| |00002440| 28 29 20 69 73 20 69 6e | 76 6f 6b 65 64 20 69 74 |() is in|voked it| |00002450| 20 63 61 6c 6c 73 20 73 | 65 76 65 72 61 6c 20 6f | calls s|everal o| |00002460| 74 68 65 72 20 52 4f 4d | 20 72 6f 75 74 69 6e 65 |ther ROM| routine| |00002470| 73 20 69 6e 63 6c 75 64 | 69 6e 67 0d 47 65 74 52 |s includ|ing.GetR| |00002480| 65 73 6f 75 72 63 65 28 | 29 2c 20 20 43 6f 75 6e |esource(|), Coun| |00002490| 74 54 79 70 65 73 28 29 | 2c 20 43 61 6c 63 4d 65 |tTypes()|, CalcMe| |000024a0| 6e 75 53 69 7a 65 28 29 | 2c 20 47 65 74 49 74 65 |nuSize()|, GetIte| |000024b0| 6d 28 29 2c 20 4d 65 6e | 75 53 65 6c 65 63 74 28 |m(), Men|uSelect(| |000024c0| 29 20 61 6e 64 0d 4c 6f | 61 64 52 65 73 6f 75 72 |) and.Lo|adResour| |000024d0| 63 65 28 29 2e 20 44 75 | 72 69 6e 67 20 74 68 65 |ce(). Du|ring the| |000024e0| 20 63 6f 6e 64 69 74 69 | 6f 6e 73 20 6d 65 6e 74 | conditi|ons ment| |000024f0| 69 6f 6e 65 64 20 61 62 | 6f 76 65 2c 20 6f 6e 20 |ioned ab|ove, on | |00002500| 65 78 69 74 20 6f 66 20 | 47 65 74 49 74 65 6d 28 |exit of |GetItem(| |00002510| 29 2c 20 61 0d 4a 53 52 | 20 28 41 30 29 20 69 6e |), a.JSR| (A0) in| |00002520| 73 74 72 75 63 74 69 6f | 6e 20 77 69 6c 6c 20 70 |structio|n will p| |00002530| 72 6f 64 75 63 65 20 61 | 6e 20 61 64 64 72 65 73 |roduce a|n addres| |00002540| 73 20 65 72 72 6f 72 20 | 61 74 20 61 20 6c 6f 63 |s error |at a loc| |00002550| 61 74 69 6f 6e 20 61 62 | 6f 76 65 20 74 68 65 20 |ation ab|ove the | |00002560| 36 34 4b 0d 52 4f 4d 20 | 69 66 20 74 68 65 20 44 |64K.ROM |if the D| |00002570| 41 20 6d 65 6e 75 20 69 | 73 20 6f 6e 20 74 68 65 |A menu i|s on the| |00002580| 20 68 65 61 70 2e 20 54 | 68 69 73 20 69 73 20 62 | heap. T|his is b| |00002590| 65 63 61 75 73 65 20 74 | 68 65 20 6e 65 77 65 72 |ecause t|he newer| |000025a0| 20 46 69 6e 64 65 72 73 | 20 6a 75 6d 70 0d 64 69 | Finders| jump.di| |000025b0| 72 65 63 74 6c 79 20 69 | 6e 20 61 6e 64 20 6f 75 |rectly i|n and ou| |000025c0| 74 20 74 68 65 20 31 32 | 38 4b 20 52 4f 4d 73 20 |t the 12|8K ROMs | |000025d0| 61 74 20 61 62 73 6f 6c | 75 74 65 20 6c 6f 63 61 |at absol|ute loca| |000025e0| 74 69 6f 6e 73 2c 20 73 | 6f 20 74 68 65 79 20 65 |tions, s|o they e| |000025f0| 78 70 65 63 74 20 52 4f | 4d 20 63 6f 64 65 0d 61 |xpect RO|M code.a| |00002600| 74 20 73 70 65 63 69 66 | 69 63 20 6d 65 6d 6f 72 |t specif|ic memor| |00002610| 79 20 61 64 64 72 65 73 | 73 65 73 2e 0d 0d 41 70 |y addres|ses...Ap| |00002620| 70 61 72 65 6e 74 6c 79 | 2c 20 69 66 20 74 68 65 |parently|, if the| |00002630| 20 44 41 20 6d 65 6e 75 | 20 69 73 20 4e 4f 54 20 | DA menu| is NOT | |00002640| 6f 6e 20 74 68 65 20 68 | 65 61 70 20 77 68 65 6e |on the h|eap when| |00002650| 20 47 65 74 4d 65 6e 75 | 28 29 20 69 73 20 69 6e | GetMenu|() is in| |00002660| 76 6f 6b 65 64 20 64 75 | 72 69 6e 67 0d 74 68 69 |voked du|ring.thi| |00002670| 73 20 65 6e 76 69 72 6f | 6e 6d 65 6e 74 2c 20 6e |s enviro|nment, n| |00002680| 6f 20 65 72 72 6f 72 20 | 77 69 6c 6c 20 6f 63 63 |o error |will occ| |00002690| 75 72 2e 20 49 74 20 73 | 68 6f 75 6c 64 20 62 65 |ur. It s|hould be| |000026a0| 20 6e 6f 74 65 64 20 74 | 68 61 74 20 41 70 70 6c | noted t|hat Appl| |000026b0| 65 20 43 6f 6d 70 75 74 | 65 72 0d 64 6f 65 73 20 |e Comput|er.does | |000026c0| 6e 6f 74 20 72 65 63 6f | 6d 65 6e 64 20 75 73 69 |not reco|mend usi| |000026d0| 6e 67 20 74 68 65 20 6e | 65 77 65 72 20 46 69 6e |ng the n|ewer Fin| |000026e0| 64 65 72 73 20 6f 6e 20 | 74 68 65 20 6f 6c 64 65 |ders on |the olde| |000026f0| 72 20 52 4f 4d 73 2e 20 | 48 6f 77 65 76 65 72 2c |r ROMs. |However,| |00002700| 20 73 69 6e 63 65 20 6d | 61 6e 79 0d 75 73 65 72 | since m|any.user| |00002710| 73 20 68 61 76 65 20 48 | 44 32 30 73 20 68 6f 6f |s have H|D20s hoo| |00002720| 6b 65 64 20 74 6f 20 74 | 68 65 69 72 20 6f 6c 64 |ked to t|heir old| |00002730| 65 72 20 6d 61 63 68 69 | 6e 65 73 2c 20 74 68 65 |er machi|nes, the| |00002740| 79 20 6d 75 73 74 20 75 | 73 65 20 74 68 65 20 6e |y must u|se the n| |00002750| 65 77 65 72 0d 46 69 6e | 64 65 72 73 2e 20 49 74 |ewer.Fin|ders. It| |00002760| 20 69 73 20 61 20 67 6f | 6f 64 20 69 64 65 61 20 | is a go|od idea | |00002770| 74 6f 20 70 72 65 70 61 | 72 65 20 66 6f 72 20 74 |to prepa|re for t| |00002780| 68 65 73 65 20 63 69 72 | 63 75 6d 73 74 61 6e 63 |hese cir|cumstanc| |00002790| 65 73 20 73 69 6e 63 65 | 20 74 68 65 72 65 20 69 |es since| there i| |000027a0| 73 20 6e 6f 0d 67 61 69 | 6e 20 69 6e 20 63 6f 64 |s no.gai|n in cod| |000027b0| 65 20 73 70 61 63 65 2c | 20 61 6e 64 20 74 68 65 |e space,| and the| |000027c0| 20 6f 6e 6c 79 20 6f 70 | 65 72 61 74 69 6f 6e 61 | only op|erationa| |000027d0| 6c 20 64 69 66 66 65 72 | 65 6e 63 65 20 69 73 20 |l differ|ence is | |000027e0| 74 68 61 74 20 74 68 65 | 20 4d 45 4e 55 0d 72 65 |that the| MENU.re| |000027f0| 73 6f 75 72 63 65 20 6d | 75 73 74 20 62 65 20 72 |source m|ust be r| |00002800| 65 6c 6f 61 64 65 64 20 | 65 76 65 72 79 20 74 69 |eloaded |every ti| |00002810| 6d 65 20 74 68 65 20 44 | 41 20 69 73 20 6f 70 65 |me the D|A is ope| |00002820| 6e 65 64 2e 20 2a 2f 0d | 0d 73 68 6f 72 74 20 63 |ned. */.|.short c| |00002830| 6c 6f 73 65 28 70 62 2c | 20 64 63 65 29 0d 09 43 |lose(pb,| dce)..C| |00002840| 6e 74 72 6c 50 61 72 61 | 6d 20 2a 70 62 3b 0d 09 |ntrlPara|m *pb;..| |00002850| 44 43 45 6e 74 72 79 20 | 2a 64 63 65 3b 0d 09 7b |DCEntry |*dce;..{| |00002860| 0d 0d 09 64 65 41 63 74 | 69 76 61 74 65 28 64 63 |...deAct|ivate(dc| |00002870| 65 29 3b 0d 09 52 65 6c | 65 61 73 65 52 65 73 6f |e);..Rel|easeReso| |00002880| 75 72 63 65 28 68 43 6c | 6f 63 6b 4d 65 6e 75 29 |urce(hCl|ockMenu)| |00002890| 3b 0d 09 44 69 73 70 6f | 73 65 44 69 61 6c 6f 67 |;..Dispo|seDialog| |000028a0| 28 63 6c 6f 63 6b 44 69 | 61 6c 6f 67 29 3b 0d 09 |(clockDi|alog);..| |000028b0| 64 63 65 2d 3e 64 43 74 | 6c 57 69 6e 64 6f 77 20 |dce->dCt|lWindow | |000028c0| 3d 20 4e 49 4c 3b 0d 0d | 09 72 65 74 75 72 6e 20 |= NIL;..|.return | |000028d0| 30 3b 0d 09 7d 0d 0d 2f | 2a 0d 2d 2d 2d 2d 2d 2d |0;..}../|*.------| |000028e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000028f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 43 4f 4e 54 52 |--------|--.CONTR| |00002930| 4f 4c 20 43 4c 4f 43 4b | 0d 49 74 20 73 68 6f 75 |OL CLOCK|.It shou| |00002940| 6c 64 20 62 65 20 6e 6f | 74 65 64 20 74 68 61 74 |ld be no|ted that| |00002950| 2c 20 63 6f 6e 74 72 61 | 72 79 20 74 6f 20 70 6f |, contra|ry to po| |00002960| 70 75 6c 61 72 20 70 72 | 61 63 74 69 63 65 2c 20 |pular pr|actice, | |00002970| 69 74 27 73 20 75 6e 6e | 65 63 65 73 73 61 72 79 |it's unn|ecessary| |00002980| 20 74 6f 20 63 68 65 63 | 6b 0d 74 68 65 20 64 43 | to chec|k.the dC| |00002990| 74 6c 57 69 6e 64 6f 77 | 20 66 69 65 6c 64 20 6f |tlWindow| field o| |000029a0| 66 20 74 68 65 20 64 65 | 76 69 63 65 20 63 6f 6e |f the de|vice con| |000029b0| 74 72 6f 6c 20 65 6e 74 | 72 79 20 74 6f 20 64 65 |trol ent|ry to de| |000029c0| 74 65 72 6d 69 6e 65 20 | 77 68 65 74 68 65 72 20 |termine |whether | |000029d0| 74 68 65 20 44 41 0d 65 | 78 69 73 74 73 20 64 75 |the DA.e|xists du| |000029e0| 72 69 6e 67 20 63 6f 6e | 74 72 6f 6c 28 29 2e 0d |ring con|trol()..| |000029f0| 0d 53 65 74 74 69 6e 67 | 20 74 68 65 20 70 6f 72 |.Setting| the por| |00002a00| 74 20 74 6f 20 74 68 65 | 20 63 6c 6f 63 6b 20 64 |t to the| clock d| |00002a10| 69 61 6c 6f 67 20 69 73 | 20 64 6f 6e 65 20 69 6e |ialog is| done in| |00002a20| 20 64 72 61 77 44 69 73 | 70 6c 61 79 28 29 20 72 | drawDis|play() r| |00002a30| 61 74 68 65 72 20 74 68 | 61 6e 20 68 65 72 65 2c |ather th|an here,| |00002a40| 0d 73 69 6e 63 65 20 64 | 72 61 77 44 69 73 70 6c |.since d|rawDispl| |00002a50| 61 79 28 29 20 69 73 20 | 74 68 65 20 6f 6e 6c 79 |ay() is |the only| |00002a60| 20 72 6f 75 74 69 6e 65 | 20 64 72 61 77 69 6e 67 | routine| drawing| |00002a70| 20 61 6e 79 74 68 69 6e | 67 20 69 6e 20 74 68 65 | anythin|g in the| |00002a80| 20 67 72 61 66 50 6f 72 | 74 2e 20 2a 2f 0d 0d 73 | grafPor|t. */..s| |00002a90| 68 6f 72 74 20 63 6f 6e | 74 72 6f 6c 28 70 62 2c |hort con|trol(pb,| |00002aa0| 20 64 63 65 29 0d 09 43 | 6e 74 72 6c 50 61 72 61 | dce)..C|ntrlPara| |00002ab0| 6d 20 2a 70 62 3b 0d 09 | 44 43 45 6e 74 72 79 20 |m *pb;..|DCEntry | |00002ac0| 2a 64 63 65 3b 0d 09 7b | 0d 0d 09 73 77 69 74 63 |*dce;..{|...switc| |00002ad0| 68 20 28 70 62 2d 3e 43 | 53 43 6f 64 65 29 0d 09 |h (pb->C|SCode)..| |00002ae0| 09 7b 0d 09 09 63 61 73 | 65 20 61 63 63 45 76 65 |.{...cas|e accEve| |00002af0| 6e 74 3a 0d 09 09 09 64 | 6f 45 76 65 6e 74 28 28 |nt:....d|oEvent((| |00002b00| 45 76 65 6e 74 52 65 63 | 6f 72 64 20 2a 29 20 70 |EventRec|ord *) p| |00002b10| 62 2d 3e 63 73 70 2e 65 | 76 65 6e 74 29 3b 0d 09 |b->csp.e|vent);..| |00002b20| 09 09 62 72 65 61 6b 3b | 0d 0d 09 09 63 61 73 65 |..break;|....case| |00002b30| 20 61 63 63 4d 65 6e 75 | 3a 0d 09 09 09 64 6f 4d | accMenu|:....doM| |00002b40| 65 6e 75 28 70 62 2d 3e | 63 73 70 2e 6d 65 6e 75 |enu(pb->|csp.menu| |00002b50| 44 61 74 61 2e 6d 65 6e | 75 49 74 65 6d 2c 20 64 |Data.men|uItem, d| |00002b60| 63 65 29 3b 0d 09 09 09 | 62 72 65 61 6b 3b 0d 0d |ce);....|break;..| |00002b70| 09 09 64 65 66 61 75 6c | 74 3a 0d 09 09 09 64 72 |..defaul|t:....dr| |00002b80| 61 77 44 69 73 70 6c 61 | 79 28 29 3b 0d 09 09 7d |awDispla|y();...}| |00002b90| 0d 09 72 65 74 75 72 6e | 20 30 3b 0d 09 7d 0d 0d |..return| 0;..}..| |00002ba0| 2f 2a 0d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*.-----|--------| |00002bb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002bc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002bf0| 2d 2d 2d 0d 4d 41 49 4e | 20 45 56 45 4e 54 20 4c |---.MAIN| EVENT L| |00002c00| 4f 4f 50 20 2a 2f 0d 0d | 64 6f 45 76 65 6e 74 28 |OOP */..|doEvent(| |00002c10| 74 68 65 45 76 65 6e 74 | 29 0d 09 45 76 65 6e 74 |theEvent|)..Event| |00002c20| 52 65 63 6f 72 64 20 2a | 74 68 65 45 76 65 6e 74 |Record *|theEvent| |00002c30| 3b 0d 09 7b 0d 0d 09 73 | 77 69 74 63 68 20 28 74 |;..{...s|witch (t| |00002c40| 68 65 45 76 65 6e 74 2d | 3e 77 68 61 74 29 0d 09 |heEvent-|>what)..| |00002c50| 09 7b 0d 09 09 63 61 73 | 65 20 75 70 64 61 74 65 |.{...cas|e update| |00002c60| 45 76 74 3a 0d 09 09 09 | 75 70 64 61 74 65 43 6c |Evt:....|updateCl| |00002c70| 6f 63 6b 28 29 3b 0d 09 | 09 09 62 72 65 61 6b 3b |ock();..|..break;| |00002c80| 0d 0d 09 09 63 61 73 65 | 20 61 63 74 69 76 61 74 |....case| activat| |00002c90| 65 45 76 74 3a 0d 09 09 | 09 69 66 20 28 74 68 65 |eEvt:...|.if (the| |00002ca0| 45 76 65 6e 74 2d 3e 6d | 6f 64 69 66 69 65 72 73 |Event->m|odifiers| |00002cb0| 20 26 20 61 63 74 69 76 | 65 46 6c 61 67 29 0d 09 | & activ|eFlag)..| |00002cc0| 09 09 09 61 63 74 69 76 | 61 74 65 28 29 3b 0d 09 |...activ|ate();..| |00002cd0| 09 09 65 6c 73 65 0d 09 | 09 09 09 64 65 41 63 74 |..else..|...deAct| |00002ce0| 69 76 61 74 65 28 29 3b | 0d 09 09 09 62 72 65 61 |ivate();|....brea| |00002cf0| 6b 3b 0d 0d 09 09 64 65 | 66 61 75 6c 74 3a 0d 09 |k;....de|fault:..| |00002d00| 09 09 64 72 61 77 44 69 | 73 70 6c 61 79 28 29 3b |..drawDi|splay();| |00002d10| 0d 09 09 7d 0d 09 7d 0d | 0d 2f 2a 0d 2d 2d 2d 2d |...}..}.|./*.----| |00002d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 55 50 44 |--------|----.UPD| |00002d70| 41 54 45 20 43 4c 4f 43 | 4b 20 57 49 4e 44 4f 57 |ATE CLOC|K WINDOW| |00002d80| 0d 4e 6f 72 6d 61 6c 6c | 79 2c 20 69 66 20 61 20 |.Normall|y, if a | |00002d90| 64 69 61 6c 6f 67 20 63 | 6f 6e 74 61 69 6e 73 20 |dialog c|ontains | |00002da0| 69 74 65 6d 73 20 73 75 | 63 68 20 61 73 20 62 75 |items su|ch as bu| |00002db0| 74 74 6f 6e 73 20 6f 72 | 20 74 65 78 74 2c 20 61 |ttons or| text, a| |00002dc0| 20 63 61 6c 6c 20 74 6f | 0d 44 72 61 77 44 69 61 | call to|.DrawDia| |00002dd0| 6c 6f 67 28 29 20 69 73 | 20 75 73 65 64 20 62 65 |log() is| used be| |00002de0| 74 77 65 65 6e 20 74 68 | 65 20 63 61 6c 6c 73 20 |tween th|e calls | |00002df0| 74 6f 20 42 65 67 69 6e | 55 70 64 61 74 65 28 29 |to Begin|Update()| |00002e00| 20 61 6e 64 20 45 6e 64 | 55 70 64 61 74 65 28 29 | and End|Update()| |00002e10| 2e 20 49 6e 20 74 68 65 | 0d 63 61 73 65 20 74 68 |. In the|.case th| |00002e20| 69 73 20 44 41 2c 20 61 | 20 63 61 6c 6c 20 74 6f |is DA, a| call to| |00002e30| 20 44 72 61 77 44 69 61 | 6c 6f 67 28 29 20 69 73 | DrawDia|log() is| |00002e40| 20 6e 6f 74 20 6f 6e 6c | 79 20 75 6e 6e 65 63 65 | not onl|y unnece| |00002e50| 73 73 61 72 79 2c 20 69 | 74 20 77 69 6c 6c 20 61 |ssary, i|t will a| |00002e60| 6c 73 6f 20 63 61 75 73 | 65 0d 61 6e 20 61 6e 6e |lso caus|e.an ann| |00002e70| 6f 79 69 6e 67 20 66 6c | 69 63 6b 65 72 20 69 6e |oying fl|icker in| |00002e80| 20 74 68 65 20 74 69 6d | 65 2f 64 61 74 65 20 64 | the tim|e/date d| |00002e90| 69 73 70 61 6c 79 2e 20 | 54 68 69 73 20 69 73 20 |ispaly. |This is | |00002ea0| 62 65 63 61 75 73 65 20 | 74 68 65 20 65 6d 70 74 |because |the empt| |00002eb0| 79 20 73 74 61 74 69 63 | 0d 74 65 78 74 20 69 74 |y static|.text it| |00002ec0| 65 6d 20 75 73 65 64 20 | 74 6f 20 70 6f 73 69 74 |em used |to posit| |00002ed0| 69 6f 6e 20 74 68 65 20 | 64 69 73 70 6c 61 79 20 |ion the |display | |00002ee0| 77 69 6c 6c 20 65 72 61 | 73 65 20 69 74 20 61 67 |will era|se it ag| |00002ef0| 61 69 6e 20 64 75 72 69 | 6e 67 20 61 6e 20 75 70 |ain duri|ng an up| |00002f00| 64 61 74 65 2e 20 2a 2f | 0d 0d 75 70 64 61 74 65 |date. */|..update| |00002f10| 43 6c 6f 63 6b 28 29 0d | 09 7b 0d 0d 09 42 65 67 |Clock().|.{...Beg| |00002f20| 69 6e 55 70 64 61 74 65 | 28 63 6c 6f 63 6b 44 69 |inUpdate|(clockDi| |00002f30| 61 6c 6f 67 29 3b 0d 09 | 63 6c 6f 63 6b 44 69 72 |alog);..|clockDir| |00002f40| 74 79 20 3d 20 54 52 55 | 45 3b 0d 09 64 72 61 77 |ty = TRU|E;..draw| |00002f50| 44 69 73 70 6c 61 79 28 | 29 3b 0d 09 45 6e 64 55 |Display(|);..EndU| |00002f60| 70 64 61 74 65 28 63 6c | 6f 63 6b 44 69 61 6c 6f |pdate(cl|ockDialo| |00002f70| 67 29 3b 0d 09 7d 0d 0d | 2f 2a 0d 2d 2d 2d 2d 2d |g);..}..|/*.-----| |00002f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00002fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 41 43 54 49 |--------|---.ACTI| |00002fd0| 56 41 54 45 20 43 4c 4f | 43 4b 20 4d 45 4e 55 0d |VATE CLO|CK MENU.| |00002fe0| 42 65 63 61 75 73 65 20 | 6f 6c 64 65 72 20 76 65 |Because |older ve| |00002ff0| 72 73 69 6f 6e 73 20 6f | 66 20 74 68 65 20 46 6f |rsions o|f the Fo| |00003000| 6e 74 2f 44 41 20 4d 6f | 76 65 72 20 64 6f 6e 27 |nt/DA Mo|ver don'| |00003010| 74 20 63 6f 72 72 65 63 | 74 6c 79 20 72 65 73 65 |t correc|tly rese| |00003020| 74 20 74 68 65 20 6d 65 | 6e 75 49 44 20 6f 66 0d |t the me|nuID of.| |00003030| 61 20 4d 45 4e 55 20 72 | 65 73 6f 75 72 63 65 20 |a MENU r|esource | |00003040| 77 68 65 6e 20 61 20 44 | 41 20 69 73 20 6d 6f 76 |when a D|A is mov| |00003050| 65 64 20 69 6e 74 6f 20 | 74 68 65 20 73 79 73 74 |ed into |the syst| |00003060| 65 6d 20 6f 72 20 61 6e | 6f 74 68 65 72 20 66 69 |em or an|other fi| |00003070| 6c 65 2c 20 69 74 20 6d | 75 73 74 20 62 65 0d 70 |le, it m|ust be.p| |00003080| 61 74 63 68 65 64 20 68 | 65 72 65 20 61 74 20 72 |atched h|ere at r| |00003090| 75 6e 74 69 6d 65 20 62 | 65 66 6f 72 65 20 74 68 |untime b|efore th| |000030a0| 65 20 6d 65 6e 75 20 69 | 73 20 69 6e 73 65 72 74 |e menu i|s insert| |000030b0| 65 64 20 69 6e 20 74 68 | 65 20 6d 65 6e 75 62 61 |ed in th|e menuba| |000030c0| 72 2e 20 2a 2f 0d 0d 61 | 63 74 69 76 61 74 65 28 |r. */..a|ctivate(| |000030d0| 29 0d 09 7b 0d 09 0d 09 | 28 2a 68 43 6c 6f 63 6b |)..{....|(*hClock| |000030e0| 4d 65 6e 75 29 2d 3e 6d | 65 6e 75 49 44 20 3d 20 |Menu)->m|enuID = | |000030f0| 6f 77 6e 65 64 49 44 3b | 0d 09 49 6e 73 65 72 74 |ownedID;|..Insert| |00003100| 4d 65 6e 75 28 68 43 6c | 6f 63 6b 4d 65 6e 75 2c |Menu(hCl|ockMenu,| |00003110| 20 43 4c 4f 43 4b 5f 4d | 45 4e 55 29 3b 0d 09 44 | CLOCK_M|ENU);..D| |00003120| 72 61 77 4d 65 6e 75 42 | 61 72 28 29 3b 0d 09 7d |rawMenuB|ar();..}| |00003130| 0d 0d 2f 2a 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*.---|--------| |00003140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003180| 2d 2d 2d 2d 2d 0d 44 45 | 41 43 54 49 56 41 54 45 |-----.DE|ACTIVATE| |00003190| 20 43 4c 4f 43 4b 20 4d | 45 4e 55 20 2a 2f 0d 0d | CLOCK M|ENU */..| |000031a0| 64 65 41 63 74 69 76 61 | 74 65 28 29 0d 09 7b 0d |deActiva|te()..{.| |000031b0| 0d 09 44 65 6c 65 74 65 | 4d 65 6e 75 28 6f 77 6e |..Delete|Menu(own| |000031c0| 65 64 49 44 29 3b 0d 09 | 44 72 61 77 4d 65 6e 75 |edID);..|DrawMenu| |000031d0| 42 61 72 28 29 3b 0d 09 | 7d 0d 0d 2f 2a 0d 2d 2d |Bar();..|}../*.--| |000031e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000031f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 44 |--------|------.D| |00003230| 4f 20 4d 45 4e 55 0d 43 | 68 6f 6f 73 69 6e 67 20 |O MENU.C|hoosing | |00003240| 22 41 62 6f 75 74 c9 22 | 20 69 6e 20 74 68 65 20 |"About."| in the | |00003250| 22 43 6c 6f 63 6b 22 20 | 6d 65 6e 75 20 77 69 6c |"Clock" |menu wil| |00003260| 6c 20 69 6e 76 6f 6b 65 | 20 4d 6f 64 61 6c 44 69 |l invoke| ModalDi| |00003270| 61 6c 6f 67 28 29 2e 20 | 53 69 6e 63 65 20 6f 6e |alog(). |Since on| |00003280| 65 20 6f 66 0d 74 68 65 | 20 66 69 72 73 74 20 74 |e of.the| first t| |00003290| 68 69 6e 67 73 20 4d 6f | 64 61 6c 44 69 61 6c 6f |hings Mo|dalDialo| |000032a0| 67 28 29 20 64 6f 65 73 | 20 69 73 20 63 61 6c 6c |g() does| is call| |000032b0| 20 53 79 73 74 65 6d 54 | 61 73 6b 28 29 2c 20 74 | SystemT|ask(), t| |000032c0| 68 65 20 44 41 20 63 6f | 6e 74 72 6f 6c 20 72 6f |he DA co|ntrol ro| |000032d0| 75 74 69 6e 65 0d 63 61 | 6e 20 62 65 20 63 61 6c |utine.ca|n be cal| |000032e0| 6c 65 64 20 61 67 61 69 | 6e 2e 20 49 6e 20 74 68 |led agai|n. In th| |000032f0| 65 20 63 61 73 65 20 6f | 66 20 74 68 69 73 20 44 |e case o|f this D| |00003300| 41 2c 20 74 68 65 20 70 | 72 6f 62 6c 65 6d 20 6f |A, the p|roblem o| |00003310| 66 20 72 65 2d 65 6e 74 | 72 61 6e 63 79 20 77 69 |f re-ent|rancy wi| |00003320| 6c 6c 20 6e 6f 74 0d 63 | 61 75 73 65 20 4d 6f 64 |ll not.c|ause Mod| |00003330| 61 6c 44 69 61 6c 6f 67 | 28 29 20 74 6f 20 62 65 |alDialog|() to be| |00003340| 20 69 6e 76 6f 6b 65 64 | 20 61 67 61 69 6e 20 62 | invoked| again b| |00003350| 65 63 61 75 73 65 20 69 | 74 20 63 61 6e 27 74 20 |ecause i|t can't | |00003360| 62 65 20 73 65 6c 65 63 | 74 65 64 20 66 72 6f 6d |be selec|ted from| |00003370| 20 74 68 65 0d 6d 65 6e | 75 20 6f 6e 63 65 20 74 | the.men|u once t| |00003380| 68 65 20 6d 6f 64 61 6c | 20 64 69 61 6c 6f 67 20 |he modal| dialog | |00003390| 69 73 20 61 63 74 69 76 | 65 2e 0d 0d 48 6f 77 65 |is activ|e...Howe| |000033a0| 76 65 72 2c 20 74 68 65 | 20 63 6f 64 65 20 69 6e |ver, the| code in| |000033b0| 20 44 41 48 65 61 64 65 | 72 2e 61 73 6d 20 77 68 | DAHeade|r.asm wh| |000033c0| 69 63 68 20 63 61 6c 6c | 73 20 63 6f 6e 74 72 6f |ich call|s contro| |000033d0| 6c 28 29 2c 20 6c 6f 63 | 6b 73 20 74 68 65 20 67 |l(), loc|ks the g| |000033e0| 6c 6f 62 61 6c 0d 76 61 | 72 69 61 62 6c 65 73 20 |lobal.va|riables | |000033f0| 6f 6e 20 74 68 65 20 68 | 65 61 70 20 6f 6e 20 65 |on the h|eap on e| |00003400| 6e 74 72 61 6e 63 65 20 | 61 6e 64 20 74 68 65 6e |ntrance |and then| |00003410| 20 75 6e 6c 6f 63 6b 73 | 20 74 68 65 6d 20 6f 6e | unlocks| them on| |00003420| 20 65 78 69 74 2e 20 54 | 68 65 20 44 65 73 6b 0d | exit. T|he Desk.| |00003430| 4d 61 6e 61 67 65 72 20 | 64 6f 65 73 20 74 68 69 |Manager |does thi| |00003440| 73 20 73 61 6d 65 20 74 | 68 69 6e 67 20 74 6f 20 |s same t|hing to | |00003450| 74 68 65 20 44 52 56 52 | 20 63 6f 64 65 20 72 65 |the DRVR| code re| |00003460| 73 6f 75 72 63 65 20 62 | 65 66 6f 72 65 20 61 6e |source b|efore an| |00003470| 64 20 61 66 74 65 72 20 | 74 68 65 20 44 41 0d 69 |d after |the DA.i| |00003480| 73 20 63 61 6c 6c 65 64 | 2e 20 54 6f 20 61 76 6f |s called|. To avo| |00003490| 69 64 20 74 68 65 20 70 | 6f 73 73 69 62 69 6c 69 |id the p|ossibili| |000034a0| 74 79 20 6f 66 20 4d 6f | 64 61 6c 44 69 61 6c 6f |ty of Mo|dalDialo| |000034b0| 67 28 29 20 63 61 75 73 | 69 6e 67 20 68 65 61 70 |g() caus|ing heap| |000034c0| 20 63 6f 6d 70 61 63 74 | 69 6f 6e 20 61 6e 64 0d | compact|ion and.| |000034d0| 6d 6f 76 69 6e 67 20 65 | 69 74 68 65 72 20 74 68 |moving e|ither th| |000034e0| 65 20 44 52 56 52 20 63 | 6f 64 65 20 72 65 73 6f |e DRVR c|ode reso| |000034f0| 75 72 63 65 20 6f 72 20 | 74 68 65 20 67 6c 6f 62 |urce or |the glob| |00003500| 61 6c 73 20 77 68 69 6c | 65 20 75 6e 6c 6f 63 6b |als whil|e unlock| |00003510| 65 64 2c 20 74 68 65 20 | 64 65 76 69 63 65 0d 63 |ed, the |device.c| |00003520| 6f 6e 74 72 6f 6c 20 65 | 6e 74 72 79 20 6f 66 20 |ontrol e|ntry of | |00003530| 74 68 69 73 20 44 41 20 | 69 73 20 6d 6f 64 69 66 |this DA |is modif| |00003540| 69 65 64 20 62 65 66 6f | 72 65 20 4d 6f 64 61 6c |ied befo|re Modal| |00003550| 44 69 61 6c 6f 67 28 29 | 20 69 73 20 69 6e 76 6f |Dialog()| is invo| |00003560| 6b 65 64 2e 0d 0d 46 69 | 72 73 74 2c 20 74 6f 20 |ked...Fi|rst, to | |00003570| 70 72 65 76 65 6e 74 20 | 63 6f 6e 74 72 6f 6c 28 |prevent |control(| |00003580| 29 20 66 72 6f 6d 20 62 | 65 69 6e 67 20 69 6e 76 |) from b|eing inv| |00003590| 6f 6b 65 64 20 62 79 20 | 53 79 73 74 65 6d 54 61 |oked by |SystemTa| |000035a0| 73 6b 28 29 2c 20 74 68 | 65 20 64 43 74 6c 45 6e |sk(), th|e dCtlEn| |000035b0| 61 62 6c 65 0d 62 69 74 | 20 6f 66 20 74 68 65 20 |able.bit| of the | |000035c0| 64 43 74 6c 46 6c 61 67 | 73 20 66 69 65 6c 64 20 |dCtlFlag|s field | |000035d0| 69 6e 20 74 68 65 20 64 | 63 65 20 69 73 20 69 73 |in the d|ce is is| |000035e0| 20 63 6c 65 61 72 65 64 | 2e 20 54 68 69 73 20 6d | cleared|. This m| |000035f0| 61 6b 65 73 20 63 65 72 | 74 61 69 6e 20 61 6c 6c |akes cer|tain all| |00003600| 0d 67 6c 6f 62 61 6c 20 | 76 61 72 69 61 62 6c 65 |.global |variable| |00003610| 73 20 72 65 6d 61 69 6e | 20 6c 6f 63 6b 65 64 20 |s remain| locked | |00003620| 6f 6e 20 74 68 65 20 68 | 65 61 70 2c 20 62 65 63 |on the h|eap, bec| |00003630| 61 75 73 65 20 63 6f 6e | 74 72 6f 6c 28 29 20 77 |ause con|trol() w| |00003640| 69 6c 6c 20 6e 6f 74 20 | 65 78 69 74 0d 75 6e 74 |ill not |exit.unt| |00003650| 69 6c 20 74 68 65 20 6d | 6f 64 61 6c 20 64 69 61 |il the m|odal dia| |00003660| 6c 6f 67 20 72 6f 75 74 | 69 6e 65 20 69 73 20 63 |log rout|ine is c| |00003670| 6f 6d 70 6c 65 74 65 64 | 2e 0d 0d 53 65 63 6f 6e |ompleted|...Secon| |00003680| 64 2c 20 74 68 65 20 64 | 4e 65 65 64 4c 6f 63 6b |d, the d|NeedLock| |00003690| 20 62 69 74 20 6f 66 20 | 74 68 65 20 20 64 43 74 | bit of |the dCt| |000036a0| 6c 46 6c 61 67 73 20 77 | 6f 72 64 20 69 73 20 73 |lFlags w|ord is s| |000036b0| 65 74 20 74 6f 20 6d 61 | 6b 65 20 63 65 72 74 61 |et to ma|ke certa| |000036c0| 69 6e 20 74 68 65 20 44 | 52 56 52 0d 63 6f 64 65 |in the D|RVR.code| |000036d0| 20 72 65 73 6f 75 72 63 | 65 20 72 65 6d 61 69 6e | resourc|e remain| |000036e0| 73 20 6c 6f 63 6b 65 64 | 20 6f 6e 20 74 68 65 20 |s locked| on the | |000036f0| 68 65 61 70 2e 20 49 66 | 20 74 68 65 20 64 4e 65 |heap. If| the dNe| |00003700| 65 64 4c 6f 63 6b 20 62 | 69 74 20 69 73 20 73 65 |edLock b|it is se| |00003710| 74 20 69 6e 20 74 68 65 | 0d 61 63 74 75 61 6c 20 |t in the|.actual | |00003720| 66 6c 61 67 73 20 6f 66 | 20 74 68 65 20 44 41 20 |flags of| the DA | |00003730| 68 65 61 64 65 72 2c 20 | 74 68 69 73 20 73 74 65 |header, |this ste| |00003740| 70 20 69 73 20 75 6e 6e | 65 63 65 73 73 61 72 79 |p is unn|ecessary| |00003750| 0d 0d 2a 2a 2a 20 49 4d | 50 4f 52 54 41 4e 54 20 |..*** IM|PORTANT | |00003760| 2a 2a 2a 20 54 68 65 73 | 65 20 74 77 6f 20 62 69 |*** Thes|e two bi| |00003770| 74 73 20 61 72 65 20 6d | 6f 64 69 66 69 65 64 20 |ts are m|odified | |00003780| 6d 75 73 74 20 62 65 20 | 72 65 73 74 6f 72 65 64 |must be |restored| |00003790| 20 6f 6e 20 65 78 69 74 | 20 6f 66 20 74 68 65 0d | on exit| of the.| |000037a0| 6d 6f 64 61 6c 20 64 69 | 61 6c 6f 67 20 72 6f 75 |modal di|alog rou| |000037b0| 74 69 6e 65 21 21 21 20 | 2a 2f 0d 0d 64 6f 4d 65 |tine!!! |*/..doMe| |000037c0| 6e 75 28 6d 65 6e 75 49 | 74 65 6d 2c 20 64 63 65 |nu(menuI|tem, dce| |000037d0| 29 0d 09 73 68 6f 72 74 | 20 6d 65 6e 75 49 74 65 |)..short| menuIte| |000037e0| 6d 3b 0d 09 44 43 45 6e | 74 72 79 20 2a 64 63 65 |m;..DCEn|try *dce| |000037f0| 3b 0d 09 7b 0d 09 73 68 | 6f 72 74 20 74 68 65 49 |;..{..sh|ort theI| |00003800| 74 65 6d 3b 0d 09 44 69 | 61 6c 6f 67 50 74 72 20 |tem;..Di|alogPtr | |00003810| 61 62 6f 75 74 44 69 61 | 6c 6f 67 3b 0d 0d 09 73 |aboutDia|log;...s| |00003820| 77 69 74 63 68 20 28 6d | 65 6e 75 49 74 65 6d 29 |witch (m|enuItem)| |00003830| 0d 09 09 7b 0d 09 09 63 | 61 73 65 20 54 49 4d 45 |...{...c|ase TIME| |00003840| 5f 49 54 45 4d 3a 0d 09 | 09 09 69 66 20 28 63 6c |_ITEM:..|..if (cl| |00003850| 6f 63 6b 53 65 6c 65 63 | 74 69 6f 6e 20 21 3d 20 |ockSelec|tion != | |00003860| 54 49 4d 45 5f 53 45 4c | 45 43 54 49 4f 4e 29 0d |TIME_SEL|ECTION).| |00003870| 09 09 09 09 63 6c 6f 63 | 6b 44 69 72 74 79 20 3d |....cloc|kDirty =| |00003880| 54 52 55 45 3b 0d 09 09 | 09 63 6c 6f 63 6b 46 6f |TRUE;...|.clockFo| |00003890| 72 6d 61 74 20 3d 20 57 | 41 4e 54 5f 53 45 43 4f |rmat = W|ANT_SECO| |000038a0| 4e 44 53 3b 0d 09 09 09 | 63 6c 6f 63 6b 53 65 6c |NDS;....|clockSel| |000038b0| 65 63 74 69 6f 6e 20 3d | 20 54 49 4d 45 5f 53 45 |ection =| TIME_SE| |000038c0| 4c 45 43 54 49 4f 4e 3b | 0d 09 09 09 64 72 61 77 |LECTION;|....draw| |000038d0| 44 69 73 70 6c 61 79 28 | 29 3b 0d 09 09 09 62 72 |Display(|);....br| |000038e0| 65 61 6b 3b 0d 0d 09 09 | 63 61 73 65 20 44 41 54 |eak;....|case DAT| |000038f0| 45 5f 49 54 45 4d 3a 0d | 09 09 09 69 66 20 28 63 |E_ITEM:.|...if (c| |00003900| 6c 6f 63 6b 53 65 6c 65 | 63 74 69 6f 6e 20 21 3d |lockSele|ction !=| |00003910| 20 44 41 54 45 5f 53 45 | 4c 45 43 54 49 4f 4e 29 | DATE_SE|LECTION)| |00003920| 0d 09 09 09 09 63 6c 6f | 63 6b 44 69 72 74 79 20 |.....clo|ckDirty | |00003930| 3d 54 52 55 45 3b 0d 09 | 09 09 63 6c 6f 63 6b 46 |=TRUE;..|..clockF| |00003940| 6f 72 6d 61 74 20 3d 20 | 73 68 6f 72 74 44 61 74 |ormat = |shortDat| |00003950| 65 3b 0d 09 09 09 63 6c | 6f 63 6b 53 65 6c 65 63 |e;....cl|ockSelec| |00003960| 74 69 6f 6e 20 3d 20 44 | 41 54 45 5f 53 45 4c 45 |tion = D|ATE_SELE| |00003970| 43 54 49 4f 4e 3b 0d 09 | 09 09 64 72 61 77 44 69 |CTION;..|..drawDi| |00003980| 73 70 6c 61 79 28 29 3b | 0d 09 09 09 62 72 65 61 |splay();|....brea| |00003990| 6b 3b 0d 0d 09 09 63 61 | 73 65 20 41 42 4f 55 54 |k;....ca|se ABOUT| |000039a0| 5f 49 54 45 4d 3a 0d 09 | 09 09 64 63 65 2d 3e 64 |_ITEM:..|..dce->d| |000039b0| 43 74 6c 46 6c 61 67 73 | 20 26 3d 20 30 78 46 42 |CtlFlags| &= 0xFB| |000039c0| 46 46 3b 20 2f 2a 20 63 | 6c 65 61 72 20 64 43 74 |FF; /* c|lear dCt| |000039d0| 6c 45 6e 61 62 6c 65 20 | 2a 2f 0d 09 09 09 64 63 |lEnable |*/....dc| |000039e0| 65 2d 3e 64 43 74 6c 46 | 6c 61 67 73 20 5e 3d 20 |e->dCtlF|lags ^= | |000039f0| 30 78 34 30 30 30 3b 20 | 2f 2a 20 73 65 74 20 64 |0x4000; |/* set d| |00003a00| 4e 65 65 64 4c 6f 63 6b | 20 2a 2f 0d 09 09 09 61 |NeedLock| */....a| |00003a10| 62 6f 75 74 44 69 61 6c | 6f 67 20 3d 20 47 65 74 |boutDial|og = Get| |00003a20| 4e 65 77 44 69 61 6c 6f | 67 28 41 42 4f 55 54 5f |NewDialo|g(ABOUT_| |00003a30| 44 4c 4f 47 20 2b 20 6f | 77 6e 65 64 49 44 2c 20 |DLOG + o|wnedID, | |00003a40| 4e 49 4c 2c 20 46 52 4f | 4e 54 5f 57 49 4e 44 4f |NIL, FRO|NT_WINDO| |00003a50| 57 29 3b 0d 0d 09 09 09 | 64 6f 0d 09 09 09 09 4d |W);.....|do.....M| |00003a60| 6f 64 61 6c 44 69 61 6c | 6f 67 28 64 6f 4d 6f 64 |odalDial|og(doMod| |00003a70| 61 6c 2c 20 26 74 68 65 | 49 74 65 6d 29 3b 0d 09 |al, &the|Item);..| |00003a80| 09 09 77 68 69 6c 65 0d | 09 09 09 09 28 74 68 65 |..while.|....(the| |00003a90| 49 74 65 6d 20 3e 20 6f | 4b 29 3b 0d 0d 09 09 09 |Item > o|K);.....| |00003aa0| 44 69 73 70 6f 73 65 44 | 69 61 6c 6f 67 28 61 62 |DisposeD|ialog(ab| |00003ab0| 6f 75 74 44 69 61 6c 6f | 67 29 3b 0d 09 09 09 64 |outDialo|g);....d| |00003ac0| 63 65 2d 3e 64 43 74 6c | 46 6c 61 67 73 20 5e 3d |ce->dCtl|Flags ^=| |00003ad0| 20 30 78 30 34 30 30 3b | 20 2f 2a 20 73 65 74 20 | 0x0400;| /* set | |00003ae0| 64 43 74 6c 45 6e 61 62 | 6c 65 20 2a 2f 0d 09 09 |dCtlEnab|le */...| |00003af0| 09 64 63 65 2d 3e 64 43 | 74 6c 46 6c 61 67 73 20 |.dce->dC|tlFlags | |00003b00| 26 3d 20 30 78 42 46 46 | 46 3b 20 2f 2a 20 63 6c |&= 0xBFF|F; /* cl| |00003b10| 65 61 72 20 64 4e 65 65 | 64 4c 6f 63 6b 20 2a 2f |ear dNee|dLock */| |00003b20| 0d 09 09 7d 0d 09 48 69 | 6c 69 74 65 4d 65 6e 75 |...}..Hi|liteMenu| |00003b30| 28 43 4c 4f 43 4b 5f 4d | 45 4e 55 29 3b 0d 09 7d |(CLOCK_M|ENU);..}| |00003b40| 0d 0d 2f 2a 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*.---|--------| |00003b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00003b90| 2d 2d 2d 2d 2d 0d 4d 4f | 44 41 4c 20 44 49 41 4c |-----.MO|DAL DIAL| |00003ba0| 4f 47 20 46 49 4c 54 45 | 52 20 46 55 4e 43 54 49 |OG FILTE|R FUNCTI| |00003bb0| 4f 4e 0d 53 69 6e 63 65 | 20 74 68 65 20 44 41 20 |ON.Since| the DA | |00003bc0| 63 6f 6e 74 72 6f 6c 20 | 72 6f 75 74 69 6e 65 20 |control |routine | |00003bd0| 69 73 20 64 69 73 61 62 | 6c 65 64 20 62 65 66 6f |is disab|led befo| |00003be0| 72 65 20 4d 6f 64 61 6c | 44 69 61 6c 6f 67 28 29 |re Modal|Dialog()| |00003bf0| 20 69 73 20 69 6e 76 6f | 6b 65 64 2c 20 61 6e 64 | is invo|ked, and| |00003c00| 0d 53 79 73 74 65 6d 54 | 61 73 6b 28 29 20 63 61 |.SystemT|ask() ca| |00003c10| 6e 20 6e 6f 20 6c 6f 6e | 67 65 72 20 63 61 6c 6c |n no lon|ger call| |00003c20| 20 63 6f 6e 74 72 6f 6c | 28 29 20 77 68 69 63 68 | control|() which| |00003c30| 20 74 68 65 6e 20 63 61 | 6c 6c 73 20 64 72 61 77 | then ca|lls draw| |00003c40| 44 69 73 70 6c 61 79 28 | 29 3b 20 74 68 69 73 0d |Display(|); this.| |00003c50| 66 75 6e 63 74 69 6f 6e | 2c 20 69 6e 76 6f 6b 65 |function|, invoke| |00003c60| 64 20 62 79 20 4d 6f 64 | 61 6c 44 69 61 6c 6f 67 |d by Mod|alDialog| |00003c70| 28 29 2c 20 64 72 61 77 | 73 20 74 68 65 20 63 6c |(), draw|s the cl| |00003c80| 6f 63 6b 20 64 69 73 70 | 6c 61 79 2e 20 49 74 20 |ock disp|lay. It | |00003c90| 6d 75 73 74 20 61 6c 73 | 6f 20 63 68 65 63 6b 0d |must als|o check.| |00003ca0| 74 68 65 20 6d 6f 64 61 | 6c 20 64 69 61 6c 6f 67 |the moda|l dialog| |00003cb0| 20 65 76 65 6e 74 20 72 | 65 63 6f 72 64 20 66 6f | event r|ecord fo| |00003cc0| 72 20 61 20 6b 65 79 70 | 72 65 73 73 20 63 68 61 |r a keyp|ress cha| |00003cd0| 72 61 63 74 65 72 20 63 | 6f 64 65 20 65 71 75 61 |racter c|ode equa| |00003ce0| 6c 20 74 6f 20 52 65 74 | 75 72 6e 20 6f 72 0d 45 |l to Ret|urn or.E| |00003cf0| 6e 74 65 72 2c 20 61 6e | 64 20 72 65 74 75 72 6e |nter, an|d return| |00003d00| 20 61 20 72 65 73 75 6c | 74 20 74 6f 20 4d 6f 64 | a resul|t to Mod| |00003d10| 61 6c 44 69 61 6c 6f 67 | 28 29 2e 0d 0d 54 68 65 |alDialog|()...The| |00003d20| 20 4c 69 73 61 20 50 61 | 73 63 61 6c 20 66 6f 72 | Lisa Pa|scal for| |00003d30| 6d 61 74 20 66 6f 72 20 | 61 20 64 69 61 6c 6f 67 |mat for |a dialog| |00003d40| 20 66 69 6c 74 65 72 20 | 66 75 6e 63 74 69 6f 6e | filter |function| |00003d50| 20 69 73 3a 0d 09 50 52 | 4f 43 45 44 55 52 45 20 | is:..PR|OCEDURE | |00003d60| 4d 79 46 69 6c 74 65 72 | 28 74 68 65 44 69 61 6c |MyFilter|(theDial| |00003d70| 6f 67 3a 20 44 69 61 6c | 6f 67 50 74 72 3b 20 56 |og: Dial|ogPtr; V| |00003d80| 41 52 20 74 68 65 45 76 | 65 6e 74 3a 20 45 76 65 |AR theEv|ent: Eve| |00003d90| 6e 74 52 65 63 6f 72 64 | 3b 0d 09 09 09 09 09 09 |ntRecord|;.......| |00003da0| 09 09 56 41 52 20 69 74 | 65 6d 48 69 74 3a 20 49 |..VAR it|emHit: I| |00003db0| 4e 54 45 47 45 52 29 20 | 3a 20 42 4f 4f 4c 45 41 |NTEGER) |: BOOLEA| |00003dc0| 4e 3b 0d 0d 53 69 6e 63 | 65 20 4d 61 63 20 43 20 |N;..Sinc|e Mac C | |00003dd0| 70 61 73 73 65 73 20 6d | 6f 73 74 20 70 61 72 61 |passes m|ost para| |00003de0| 6d 65 74 65 72 73 20 69 | 6e 20 72 65 67 69 73 74 |meters i|n regist| |00003df0| 65 72 73 2c 20 64 6f 4d | 6f 64 61 6c 28 29 20 6d |ers, doM|odal() m| |00003e00| 75 73 74 20 62 65 20 77 | 72 69 74 74 65 6e 20 69 |ust be w|ritten i| |00003e10| 6e 0d 61 73 73 65 6d 62 | 6c 79 20 6c 61 6e 67 75 |n.assemb|ly langu| |00003e20| 61 67 65 2e 0d 0d 4f 6e | 20 65 6e 74 72 79 20 74 |age...On| entry t| |00003e30| 68 65 20 73 74 61 63 6b | 20 63 6f 6e 74 61 69 6e |he stack| contain| |00003e40| 73 20 28 69 6e 20 64 65 | 73 63 65 6e 64 69 6e 67 |s (in de|scending| |00003e50| 20 6f 72 64 65 72 29 3a | 0d 09 73 70 61 63 65 20 | order):|..space | |00003e60| 66 6f 72 20 62 6f 6f 6c | 65 61 6e 20 72 65 73 75 |for bool|ean resu| |00003e70| 6c 74 20 28 77 6f 72 64 | 29 0d 09 70 6f 69 6e 74 |lt (word|)..point| |00003e80| 65 72 20 74 6f 20 6d 6f | 64 61 6c 20 64 69 61 6c |er to mo|dal dial| |00003e90| 6f 67 20 28 6c 6f 6e 67 | 29 0d 09 70 6f 69 6e 74 |og (long|)..point| |00003ea0| 65 72 20 74 6f 20 64 69 | 61 6c 6f 67 20 65 76 65 |er to di|alog eve| |00003eb0| 6e 74 20 72 65 63 6f 72 | 64 20 28 6c 6f 6e 67 29 |nt recor|d (long)| |00003ec0| 0d 09 70 6f 69 6e 74 65 | 72 20 74 6f 20 64 69 61 |..pointe|r to dia| |00003ed0| 6c 6f 67 20 69 74 65 6d | 20 68 69 74 20 28 6c 6f |log item| hit (lo| |00003ee0| 6e 67 29 0d 09 72 65 74 | 75 72 6e 20 61 64 64 72 |ng)..ret|urn addr| |00003ef0| 65 73 73 20 28 6c 6f 6e | 67 29 0d 0d 4f 6e 20 65 |ess (lon|g)..On e| |00003f00| 78 69 74 3a 0d 09 62 6f | 6f 6c 65 61 6e 20 72 65 |xit:..bo|olean re| |00003f10| 73 75 6c 74 20 28 77 6f | 72 64 29 0d 09 72 65 74 |sult (wo|rd)..ret| |00003f20| 75 72 6e 20 61 64 64 72 | 65 73 73 20 28 6c 6f 6e |urn addr|ess (lon| |00003f30| 67 29 0d 0d 54 68 65 20 | 22 63 6f 72 72 65 63 74 |g)..The |"correct| |00003f40| 22 20 6d 65 74 68 6f 64 | 20 6f 66 20 61 64 64 72 |" method| of addr| |00003f50| 65 73 73 69 6e 67 20 70 | 61 72 61 6d 65 74 65 72 |essing p|arameter| |00003f60| 73 20 70 61 73 73 65 64 | 20 74 6f 20 61 20 73 75 |s passed| to a su| |00003f70| 62 72 6f 75 74 69 6e 65 | 20 6f 6e 20 74 68 65 0d |broutine| on the.| |00003f80| 73 74 61 63 6b 20 69 73 | 20 74 6f 20 64 65 66 69 |stack is| to defi| |00003f90| 6e 65 20 74 68 65 6d 20 | 69 6e 20 61 20 73 74 61 |ne them |in a sta| |00003fa0| 63 6b 20 66 72 61 6d 65 | 20 76 69 61 20 61 20 4c |ck frame| via a L| |00003fb0| 49 4e 4b 20 41 6e 20 69 | 6e 73 74 72 75 63 74 69 |INK An i|nstructi| |00003fc0| 6f 6e 20 6f 6e 20 65 6e | 74 72 61 6e 63 65 0d 61 |on on en|trance.a| |00003fd0| 6e 64 20 55 4e 4c 4b 20 | 41 6e 20 6f 6e 20 65 78 |nd UNLK |An on ex| |00003fe0| 69 74 2e 20 48 6f 77 65 | 76 65 72 2c 20 74 68 65 |it. Howe|ver, the| |00003ff0| 20 22 63 6f 72 72 65 63 | 74 22 20 6d 65 74 68 6f | "correc|t" metho| |00004000| 64 20 74 61 6b 65 73 20 | 6d 6f 72 65 20 63 6f 64 |d takes |more cod| |00004010| 65 20 73 70 61 63 65 20 | 61 6e 64 20 69 73 0d 6e |e space |and is.n| |00004020| 6f 74 20 65 73 70 65 63 | 69 61 6c 6c 79 20 61 6e |ot espec|ially an| |00004030| 79 20 6d 6f 72 65 20 6c | 65 67 69 62 6c 65 20 74 |y more l|egible t| |00004040| 68 61 6e 20 74 68 65 20 | 69 6d 70 6c 65 6d 65 6e |han the |implemen| |00004050| 74 61 74 69 6f 6e 20 68 | 65 72 65 2e 0d 0d 49 66 |tation h|ere...If| |00004060| 20 52 65 74 75 72 6e 20 | 6f 72 20 45 6e 74 65 72 | Return |or Enter| |00004070| 20 63 68 61 72 61 63 74 | 65 72 73 20 68 61 76 65 | charact|ers have| |00004080| 20 62 65 65 6e 20 67 65 | 6e 65 72 61 74 65 64 20 | been ge|nerated | |00004090| 66 72 6f 6d 20 74 68 65 | 20 6b 65 79 62 6f 61 72 |from the| keyboar| |000040a0| 64 2c 20 64 6f 4d 6f 64 | 61 6c 28 29 0d 6d 75 73 |d, doMod|al().mus| |000040b0| 74 20 73 65 74 20 69 74 | 65 6d 48 69 74 20 65 71 |t set it|emHit eq| |000040c0| 75 61 6c 20 74 6f 20 31 | 20 61 6e 64 20 72 65 74 |ual to 1| and ret| |000040d0| 75 72 6e 20 61 20 72 65 | 73 75 6c 74 20 6f 66 20 |urn a re|sult of | |000040e0| 54 52 55 45 2e 20 49 66 | 20 6e 6f 74 2c 20 69 74 |TRUE. If| not, it| |000040f0| 20 6d 75 73 74 20 72 65 | 74 75 72 6e 0d 61 20 72 | must re|turn.a r| |00004100| 65 73 75 6c 74 20 6f 66 | 20 46 41 4c 53 45 20 73 |esult of| FALSE s| |00004110| 6f 20 4d 6f 64 61 6c 44 | 69 61 6c 6f 67 28 29 20 |o ModalD|ialog() | |00004120| 77 69 6c 6c 20 68 61 6e | 64 6c 65 20 74 68 65 20 |will han|dle the | |00004130| 65 76 65 6e 74 2e 0d 0d | 45 76 65 72 79 74 68 69 |event...|Everythi| |00004140| 6e 67 20 73 65 65 6d 73 | 20 74 6f 20 77 6f 72 6b |ng seems| to work| |00004150| 20 63 6f 72 72 65 63 74 | 6c 79 20 77 69 74 68 6f | correct|ly witho| |00004160| 75 74 20 73 61 76 69 6e | 67 20 61 6e 79 20 72 65 |ut savin|g any re| |00004170| 67 69 73 74 65 72 73 20 | 62 65 66 6f 72 65 20 63 |gisters |before c| |00004180| 61 6c 6c 69 6e 67 0d 64 | 72 61 77 44 69 73 70 6c |alling.d|rawDispl| |00004190| 61 79 28 29 2e 20 48 6f | 77 65 76 65 72 2c 20 73 |ay(). Ho|wever, s| |000041a0| 61 76 69 6e 67 20 72 65 | 67 69 73 74 65 72 73 20 |aving re|gisters | |000041b0| 69 73 20 61 20 76 65 72 | 79 20 67 6f 6f 64 20 69 |is a ver|y good i| |000041c0| 64 65 61 2e 20 2a 2f 0d | 0d 64 6f 4d 6f 64 61 6c |dea. */.|.doModal| |000041d0| 28 29 0d 09 7b 0d 0d 09 | 23 61 73 6d 0d 09 09 09 |()..{...|#asm....| |000041e0| 09 09 4d 4f 56 45 2e 4c | 09 09 28 53 50 29 2b 2c |..MOVE.L|..(SP)+,| |000041f0| 44 30 09 09 09 09 09 3b | 20 73 61 76 65 20 72 65 |D0.....;| save re| |00004200| 74 75 72 6e 20 61 64 64 | 72 65 73 73 0d 09 09 09 |turn add|ress....| |00004210| 09 09 4d 4f 56 45 41 2e | 4c 09 09 28 53 50 29 2b |..MOVEA.|L..(SP)+| |00004220| 2c 41 30 09 09 09 09 09 | 3b 20 73 61 76 65 20 69 |,A0.....|; save i| |00004230| 74 65 6d 20 68 69 74 20 | 70 74 72 0d 09 09 09 09 |tem hit |ptr.....| |00004240| 09 4d 4f 56 45 41 2e 4c | 09 09 28 53 50 29 2b 2c |.MOVEA.L|..(SP)+,| |00004250| 41 31 09 09 09 09 09 3b | 20 73 61 76 65 20 65 76 |A1.....;| save ev| |00004260| 65 6e 74 20 72 65 63 6f | 72 64 20 70 74 72 0d 09 |ent reco|rd ptr..| |00004270| 09 09 09 09 4d 4f 56 45 | 2e 4c 09 09 44 30 2c 28 |....MOVE|.L..D0,(| |00004280| 53 50 29 09 09 09 09 09 | 09 3b 20 72 65 73 74 6f |SP).....|.; resto| |00004290| 72 65 20 72 65 74 75 72 | 6e 20 61 64 64 72 65 73 |re retur|n addres| |000042a0| 73 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |s.......|........| |000042b0| 09 09 09 09 09 3b 20 61 | 6e 64 20 74 72 61 73 68 |.....; a|nd trash| |000042c0| 20 64 69 61 6c 6f 67 20 | 70 74 72 0d 09 09 09 09 | dialog |ptr.....| |000042d0| 09 4d 4f 56 45 2e 57 09 | 09 28 41 31 29 2c 44 30 |.MOVE.W.|.(A1),D0| |000042e0| 09 09 09 09 09 09 3b 20 | 67 65 74 20 65 76 74 4e |......; |get evtN| |000042f0| 75 6d 0d 09 09 09 09 09 | 43 4d 50 49 2e 57 09 09 |um......|CMPI.W..| |00004300| 23 33 2c 44 30 09 09 09 | 09 09 09 09 3b 20 6b 65 |#3,D0...|....; ke| |00004310| 79 44 77 6e 45 76 74 3f | 0d 09 09 09 09 09 42 4e |yDwnEvt?|......BN| |00004320| 45 2e 53 09 09 09 6e 6f | 4b 65 79 45 76 65 6e 74 |E.S...no|KeyEvent| |00004330| 0d 0d 09 09 09 09 09 4d | 4f 56 45 2e 57 09 09 34 |.......M|OVE.W..4| |00004340| 28 41 31 29 2c 44 30 09 | 09 09 09 09 3b 20 67 65 |(A1),D0.|....; ge| |00004350| 74 20 65 76 74 4d 65 73 | 73 61 67 65 20 28 6c 6f |t evtMes|sage (lo| |00004360| 77 20 77 6f 72 64 29 0d | 09 09 09 09 09 3b 20 63 |w word).|.....; c| |00004370| 68 65 63 6b 20 74 68 65 | 20 63 68 61 72 61 63 74 |heck the| charact| |00004380| 65 72 20 63 6f 64 65 2c | 20 4e 4f 54 20 74 68 65 |er code,| NOT the| |00004390| 20 6b 65 79 20 63 6f 64 | 65 21 0d 09 09 09 09 09 | key cod|e!......| |000043a0| 43 4d 50 49 2e 42 09 09 | 23 33 2c 44 30 09 09 09 |CMPI.B..|#3,D0...| |000043b0| 09 09 09 09 3b 20 45 6e | 74 65 72 20 63 68 61 72 |....; En|ter char| |000043c0| 61 63 74 65 72 3f 0d 09 | 09 09 09 09 42 45 51 2e |acter?..|....BEQ.| |000043d0| 53 09 09 09 73 65 74 49 | 74 65 6d 48 69 74 0d 0d |S...setI|temHit..| |000043e0| 09 09 09 09 09 43 4d 50 | 49 2e 42 09 09 23 31 33 |.....CMP|I.B..#13| |000043f0| 2c 44 30 09 09 09 09 09 | 09 3b 20 52 65 74 75 72 |,D0.....|.; Retur| |00004400| 6e 20 63 68 61 72 61 63 | 74 65 72 3f 0d 09 09 09 |n charac|ter?....| |00004410| 09 09 42 4e 45 2e 53 09 | 09 09 6e 6f 4b 65 79 45 |..BNE.S.|..noKeyE| |00004420| 76 65 6e 74 0d 0d 09 09 | 73 65 74 49 74 65 6d 48 |vent....|setItemH| |00004430| 69 74 3a 0d 09 09 09 09 | 09 4d 4f 56 45 2e 57 09 |it:.....|.MOVE.W.| |00004440| 09 23 31 2c 28 41 30 29 | 09 09 09 09 09 09 3b 20 |.#1,(A0)|......; | |00004450| 66 69 72 73 74 20 69 74 | 65 6d 20 69 73 20 68 69 |first it|em is hi| |00004460| 74 0d 09 09 09 09 09 4d | 4f 56 45 2e 57 09 09 23 |t......M|OVE.W..#| |00004470| 24 30 31 30 30 2c 34 28 | 53 50 29 09 09 09 3b 20 |$0100,4(|SP)...; | |00004480| 72 65 73 75 6c 74 20 69 | 73 20 54 52 55 45 20 28 |result i|s TRUE (| |00004490| 68 69 67 68 20 62 79 74 | 65 29 0d 09 09 09 09 09 |high byt|e)......| |000044a0| 52 54 53 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |RTS.....|........| |000044b0| 3b 20 73 6b 69 70 20 64 | 72 61 77 44 69 73 70 61 |; skip d|rawDispa| |000044c0| 6c 79 28 29 0d 0d 09 09 | 6e 6f 4b 65 79 45 76 65 |ly()....|noKeyEve| |000044d0| 6e 74 3a 0d 09 09 09 09 | 09 43 4c 52 2e 57 09 09 |nt:.....|.CLR.W..| |000044e0| 09 34 28 53 50 29 09 09 | 09 09 09 09 09 3b 20 72 |.4(SP)..|.....; r| |000044f0| 65 73 75 6c 74 20 69 73 | 20 46 41 4c 53 45 0d 09 |esult is| FALSE..| |00004500| 09 09 09 09 4d 4f 56 45 | 4d 2e 4c 09 09 44 33 2d |....MOVE|M.L..D3-| |00004510| 44 37 2f 41 33 2d 41 34 | 2c 2d 28 53 50 29 09 3b |D7/A3-A4|,-(SP).;| |00004520| 20 73 61 76 65 20 72 65 | 67 69 73 74 65 72 73 0d | save re|gisters.| |00004530| 09 09 09 09 09 4a 53 52 | 09 09 09 09 64 72 61 77 |.....JSR|....draw| |00004540| 44 69 73 70 6c 61 79 09 | 09 09 09 3b 20 64 6f 20 |Display.|...; do | |00004550| 62 61 63 6b 67 72 6f 75 | 6e 64 20 74 61 73 6b 0d |backgrou|nd task.| |00004560| 09 09 09 09 09 4d 4f 56 | 45 4d 2e 4c 09 09 28 53 |.....MOV|EM.L..(S| |00004570| 50 29 2b 2c 44 33 2d 44 | 37 2f 41 33 2d 41 34 20 |P)+,D3-D|7/A3-A4 | |00004580| 3b 20 72 65 73 74 6f 72 | 65 20 72 65 67 69 73 74 |; restor|e regist| |00004590| 65 72 73 0d 09 09 09 09 | 09 3b 20 52 54 53 20 69 |ers.....|.; RTS i| |000045a0| 73 20 69 6e 73 65 72 74 | 65 64 20 62 79 20 74 68 |s insert|ed by th| |000045b0| 65 20 63 6f 6d 70 69 6c | 65 72 20 61 66 74 65 72 |e compil|er after| |000045c0| 20 22 7d 22 0d 09 23 65 | 6e 64 61 73 6d 0d 09 7d | "}"..#e|ndasm..}| |000045d0| 0d 0d 2f 2a 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*.---|--------| |000045e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |000045f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00004600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00004610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00004620| 2d 2d 2d 2d 2d 0d 44 52 | 41 57 20 43 4c 4f 43 4b |-----.DR|AW CLOCK| |00004630| 20 44 49 53 50 4c 41 59 | 0d 53 65 74 74 69 6e 67 | DISPLAY|.Setting| |00004640| 20 74 68 65 20 70 6f 72 | 74 20 74 6f 20 74 68 65 | the por|t to the| |00004650| 20 63 6c 6f 63 6b 20 64 | 69 61 6c 6f 67 20 69 73 | clock d|ialog is| |00004660| 20 64 6f 6e 65 20 68 65 | 72 65 20 72 61 74 68 65 | done he|re rathe| |00004670| 72 20 74 68 61 6e 20 69 | 6e 20 63 6f 6e 74 72 6f |r than i|n contro| |00004680| 6c 28 29 2c 0d 62 65 63 | 61 75 73 65 20 74 68 69 |l(),.bec|ause thi| |00004690| 73 20 66 75 6e 63 74 69 | 6f 6e 20 69 73 20 61 6c |s functi|on is al| |000046a0| 73 6f 20 63 61 6c 6c 65 | 64 20 62 79 20 64 6f 4d |so calle|d by doM| |000046b0| 6f 64 61 6c 28 29 2e 20 | 48 6f 77 65 76 65 72 2c |odal(). |However,| |000046c0| 20 65 76 65 72 79 74 68 | 69 6e 67 20 73 65 65 6d | everyth|ing seem| |000046d0| 73 20 74 6f 0d 77 6f 72 | 6b 20 70 72 6f 70 65 72 |s to.wor|k proper| |000046e0| 6c 79 20 69 66 20 74 68 | 65 20 70 6f 72 74 20 69 |ly if th|e port i| |000046f0| 73 20 73 65 74 20 6f 6e | 6c 79 20 69 6e 20 63 6f |s set on|ly in co| |00004700| 6e 74 72 6f 6c 28 29 20 | 61 6e 64 20 6e 6f 74 20 |ntrol() |and not | |00004710| 68 65 72 65 2e 20 53 65 | 74 74 69 6e 67 20 74 68 |here. Se|tting th| |00004720| 65 0d 70 6f 72 74 20 68 | 65 72 65 20 69 73 20 6a |e.port h|ere is j| |00004730| 75 73 74 20 61 20 67 6f | 6f 64 20 69 64 65 61 2e |ust a go|od idea.| |00004740| 20 47 65 74 74 69 6e 67 | 20 61 6e 64 20 72 65 73 | Getting| and res| |00004750| 74 6f 72 69 6e 67 20 74 | 68 65 20 6f 6c 64 20 70 |toring t|he old p| |00004760| 6f 72 74 20 69 73 20 61 | 6c 73 6f 20 61 20 67 6f |ort is a|lso a go| |00004770| 6f 64 0d 69 64 65 61 2c | 20 68 6f 77 65 76 65 72 |od.idea,| however| |00004780| 20 65 76 65 72 79 74 68 | 69 6e 67 20 73 65 65 6d | everyth|ing seem| |00004790| 73 20 74 6f 20 77 6f 72 | 6b 20 70 72 6f 70 65 72 |s to wor|k proper| |000047a0| 6c 79 20 69 66 20 74 68 | 69 73 20 69 73 20 6e 6f |ly if th|is is no| |000047b0| 74 20 64 6f 6e 65 20 65 | 69 74 68 65 72 2e 0d 0d |t done e|ither...| |000047c0| 54 68 65 20 63 75 72 72 | 65 6e 74 20 74 69 6d 65 |The curr|ent time| |000047d0| 20 69 73 20 66 65 74 63 | 68 65 64 20 66 72 6f 6d | is fetc|hed from| |000047e0| 20 74 68 65 20 6c 6f 77 | 2d 6d 65 6d 6f 72 79 20 | the low|-memory | |000047f0| 73 79 73 74 65 6d 20 67 | 6c 6f 62 61 6c 20 22 54 |system g|lobal "T| |00004800| 69 6d 65 22 20 28 24 30 | 32 30 43 29 0d 75 73 69 |ime" ($0|20C).usi| |00004810| 6e 67 20 43 20 74 79 70 | 65 63 61 73 74 69 6e 67 |ng C typ|ecasting| |00004820| 20 61 6e 64 20 69 6e 64 | 69 72 65 63 74 69 6f 6e | and ind|irection| |00004830| 2e 20 53 69 6e 63 65 20 | 74 68 65 20 63 75 72 72 |. Since |the curr| |00004840| 65 6e 74 20 74 69 6d 65 | 20 69 73 20 6e 6f 74 20 |ent time| is not | |00004850| 6e 65 65 64 65 64 20 69 | 6e 0d 6d 61 6e 79 20 64 |needed i|n.many d| |00004860| 69 66 66 65 72 65 6e 74 | 20 70 6c 61 63 65 73 20 |ifferent| places | |00004870| 69 6e 20 74 68 69 73 20 | 73 6f 75 72 63 65 2c 20 |in this |source, | |00004880| 74 68 69 73 20 74 65 63 | 68 6e 69 71 75 65 20 69 |this tec|hnique i| |00004890| 73 20 66 61 73 74 65 72 | 20 61 6e 64 20 74 61 6b |s faster| and tak| |000048a0| 65 73 20 6c 65 73 73 0d | 63 6f 64 65 20 74 68 61 |es less.|code tha| |000048b0| 6e 20 77 72 69 74 69 6e | 67 20 61 6e 20 61 73 73 |n writin|g an ass| |000048c0| 65 6d 62 6c 79 20 6c 61 | 6e 67 75 61 67 65 20 66 |embly la|nguage f| |000048d0| 75 6e 63 74 69 6f 6e 2e | 20 41 6c 73 6f 20 74 68 |unction.| Also th| |000048e0| 65 72 65 27 73 20 6e 6f | 20 65 71 75 69 76 61 6c |ere's no| equival| |000048f0| 65 6e 74 0d 69 6e 20 4d | 61 63 20 43 20 74 6f 20 |ent.in M|ac C to | |00004900| 74 68 65 20 4c 69 73 61 | 20 50 61 73 63 61 6c 20 |the Lisa| Pascal | |00004910| 72 6f 75 74 69 6e 65 3a | 0d 09 50 52 4f 43 45 44 |routine:|..PROCED| |00004920| 55 52 45 20 47 65 74 44 | 61 74 65 54 69 6d 65 28 |URE GetD|ateTime(| |00004930| 56 41 52 20 73 65 63 73 | 3a 20 4c 4f 4e 47 49 4e |VAR secs|: LONGIN| |00004940| 54 29 3b 0d 0d 48 6f 77 | 65 76 65 72 2c 20 61 20 |T);..How|ever, a | |00004950| 66 75 6e 63 74 69 6f 6e | 20 63 61 6e 20 62 65 20 |function| can be | |00004960| 64 65 66 69 6e 65 64 20 | 73 69 6d 69 6c 61 72 20 |defined |similar | |00004970| 74 6f 20 74 68 69 73 20 | 70 72 6f 63 65 64 75 72 |to this |procedur| |00004980| 65 20 62 75 74 20 72 65 | 74 75 72 6e 69 6e 67 20 |e but re|turning | |00004990| 61 0d 6c 6f 6e 67 20 72 | 65 73 75 6c 74 2c 20 72 |a.long r|esult, r| |000049a0| 61 74 68 65 72 20 74 68 | 61 6e 20 68 61 76 69 6e |ather th|an havin| |000049b0| 67 20 61 20 76 61 72 69 | 61 62 6c 65 20 70 61 73 |g a vari|able pas| |000049c0| 73 65 64 20 74 6f 20 69 | 74 3a 0d 0d 6c 6f 6e 67 |sed to i|t:..long| |000049d0| 20 67 65 74 44 61 74 65 | 54 69 6d 65 28 29 0d 09 | getDate|Time()..| |000049e0| 7b 0d 0d 09 23 61 73 6d | 0d 09 09 09 09 09 4d 4f |{...#asm|......MO| |000049f0| 56 45 2e 4c 09 09 24 30 | 32 30 43 2c 44 30 09 09 |VE.L..$0|20C,D0..| |00004a00| 09 09 09 3b 20 54 69 6d | 65 0d 09 09 09 09 09 3b |...; Tim|e......;| |00004a10| 20 52 54 53 20 69 73 20 | 69 6e 73 65 72 74 65 64 | RTS is |inserted| |00004a20| 20 62 79 20 74 68 65 20 | 63 6f 6d 70 69 6c 65 72 | by the |compiler| |00004a30| 20 61 66 74 65 72 20 22 | 7d 22 0d 09 23 65 6e 64 | after "|}"..#end| |00004a40| 61 73 6d 0d 09 7d 0d 0d | 54 68 65 20 6f 6e 6c 79 |asm..}..|The only| |00004a50| 20 6f 74 68 65 72 20 66 | 75 6e 63 74 69 6f 6e 20 | other f|unction | |00004a60| 69 6e 20 74 68 69 73 20 | 73 6f 75 72 63 65 20 77 |in this |source w| |00004a70| 68 69 63 68 20 72 65 71 | 75 65 73 74 73 20 74 68 |hich req|uests th| |00004a80| 65 20 63 75 72 72 65 6e | 74 20 74 69 6d 65 20 69 |e curren|t time i| |00004a90| 73 0d 64 54 69 6d 65 54 | 6f 53 74 72 69 6e 67 28 |s.dTimeT|oString(| |00004aa0| 29 2e 20 2a 2f 0d 0d 64 | 72 61 77 44 69 73 70 6c |). */..d|rawDispl| |00004ab0| 61 79 28 29 0d 09 7b 0d | 09 47 72 61 66 50 74 72 |ay()..{.|.GrafPtr| |00004ac0| 20 6f 6c 64 50 6f 72 74 | 3b 0d 09 6c 6f 6e 67 20 | oldPort|;..long | |00004ad0| 6e 65 77 44 61 74 65 54 | 69 6d 65 3b 0d 09 53 74 |newDateT|ime;..St| |00004ae0| 72 32 35 35 20 6e 65 77 | 44 54 53 74 72 69 6e 67 |r255 new|DTString| |00004af0| 3b 0d 09 73 68 6f 72 74 | 20 6e 65 77 57 69 64 74 |;..short| newWidt| |00004b00| 68 3b 0d 0d 09 69 66 20 | 28 28 63 6c 6f 63 6b 44 |h;...if |((clockD| |00004b10| 69 72 74 79 29 20 7c 7c | 20 28 28 6e 65 77 44 61 |irty) ||| ((newDa| |00004b20| 74 65 54 69 6d 65 20 3d | 20 2a 28 28 6c 6f 6e 67 |teTime =| *((long| |00004b30| 20 2a 29 20 54 49 4d 45 | 29 29 20 21 3d 20 6f 6c | *) TIME|)) != ol| |00004b40| 64 44 61 74 65 54 69 6d | 65 29 29 0d 09 09 7b 0d |dDateTim|e))...{.| |00004b50| 09 09 47 65 74 50 6f 72 | 74 28 26 6f 6c 64 50 6f |..GetPor|t(&oldPo| |00004b60| 72 74 29 3b 0d 09 09 53 | 65 74 50 6f 72 74 28 28 |rt);...S|etPort((| |00004b70| 47 72 61 66 50 74 72 29 | 20 63 6c 6f 63 6b 44 69 |GrafPtr)| clockDi| |00004b80| 61 6c 6f 67 29 3b 0d 0d | 09 09 6f 6c 64 44 61 74 |alog);..|..oldDat| |00004b90| 65 54 69 6d 65 20 3d 20 | 6e 65 77 44 61 74 65 54 |eTime = |newDateT| |00004ba0| 69 6d 65 3b 0d 09 09 64 | 54 69 6d 65 54 6f 53 74 |ime;...d|TimeToSt| |00004bb0| 72 69 6e 67 28 63 6c 6f | 63 6b 46 6f 72 6d 61 74 |ring(clo|ckFormat| |00004bc0| 2c 20 26 6e 65 77 44 54 | 53 74 72 69 6e 67 2c 20 |, &newDT|String, | |00004bd0| 63 6c 6f 63 6b 53 65 6c | 65 63 74 69 6f 6e 29 3b |clockSel|ection);| |00004be0| 0d 09 09 69 66 20 28 28 | 63 6c 6f 63 6b 44 69 72 |...if ((|clockDir| |00004bf0| 74 79 29 20 7c 7c 20 28 | 28 6e 65 77 57 69 64 74 |ty) || (|(newWidt| |00004c00| 68 20 3d 20 53 74 72 69 | 6e 67 57 69 64 74 68 28 |h = Stri|ngWidth(| |00004c10| 26 6e 65 77 44 54 53 74 | 72 69 6e 67 29 29 20 3c |&newDTSt|ring)) <| |00004c20| 20 6f 6c 64 57 69 64 74 | 68 29 29 0d 09 09 09 7b | oldWidt|h))....{| |00004c30| 0d 09 09 09 6f 6c 64 57 | 69 64 74 68 20 3d 20 6e |....oldW|idth = n| |00004c40| 65 77 57 69 64 74 68 3b | 0d 09 09 09 45 72 61 73 |ewWidth;|....Eras| |00004c50| 65 52 65 63 74 28 26 64 | 69 73 70 6c 61 79 52 65 |eRect(&d|isplayRe| |00004c60| 63 74 29 3b 0d 09 09 09 | 63 6c 6f 63 6b 44 69 72 |ct);....|clockDir| |00004c70| 74 79 20 3d 20 46 41 4c | 53 45 3b 0d 09 09 09 7d |ty = FAL|SE;....}| |00004c80| 0d 09 09 4d 6f 76 65 54 | 6f 28 74 65 78 74 4c 65 |...MoveT|o(textLe| |00004c90| 66 74 2c 74 65 78 74 42 | 61 73 65 29 3b 0d 09 09 |ft,textB|ase);...| |00004ca0| 44 72 61 77 53 74 72 69 | 6e 67 28 26 6e 65 77 44 |DrawStri|ng(&newD| |00004cb0| 54 53 74 72 69 6e 67 29 | 3b 0d 0d 09 09 53 65 74 |TString)|;....Set| |00004cc0| 50 6f 72 74 28 6f 6c 64 | 50 6f 72 74 29 3b 0d 09 |Port(old|Port);..| |00004cd0| 09 7d 0d 09 7d 0d 0d 2f | 2a 0d 2d 2d 2d 2d 2d 2d |.}..}../|*.------| |00004ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00004cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00004d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00004d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------| |00004d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 43 4f 4e 56 45 |--------|--.CONVE| |00004d30| 52 54 20 44 41 54 45 20 | 4f 52 20 54 49 4d 45 20 |RT DATE |OR TIME | |00004d40| 54 4f 20 53 54 52 49 4e | 47 0d 54 68 69 73 20 69 |TO STRIN|G.This i| |00004d50| 73 20 61 20 76 61 72 69 | 61 74 69 6f 6e 20 6f 6e |s a vari|ation on| |00004d60| 20 74 77 6f 20 4c 69 73 | 61 20 50 61 63 61 6c 20 | two Lis|a Pacal | |00004d70| 70 72 6f 63 65 64 75 72 | 65 73 20 63 6f 6e 74 61 |procedur|es conta| |00004d80| 69 6e 65 64 20 69 6e 20 | 74 68 65 20 69 6e 74 65 |ined in |the inte| |00004d90| 72 6e 61 74 69 6f 6e 61 | 6c 0d 75 74 69 6c 69 74 |rnationa|l.utilit| |00004da0| 69 65 73 20 70 61 63 6b | 61 67 65 2e 20 54 68 65 |ies pack|age. The| |00004db0| 72 65 27 73 20 6e 6f 20 | 65 71 75 69 76 61 6c 65 |re's no |equivale| |00004dc0| 6e 74 20 74 6f 20 74 68 | 65 73 65 20 70 72 6f 63 |nt to th|ese proc| |00004dd0| 65 64 75 72 65 73 20 69 | 6e 20 4d 61 63 20 43 2e |edures i|n Mac C.| |00004de0| 20 48 65 72 65 20 74 68 | 65 0d 64 61 74 65 54 69 | Here th|e.dateTi| |00004df0| 6d 65 20 70 61 72 61 6d | 65 74 65 72 20 69 73 20 |me param|eter is | |00004e00| 6e 6f 74 20 75 73 65 64 | 2e 20 49 6e 73 74 65 61 |not used|. Instea| |00004e10| 64 2c 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 74 |d, the c|urrent t| |00004e20| 69 6d 65 20 69 73 20 66 | 65 74 63 68 65 64 20 61 |ime is f|etched a| |00004e30| 6e 64 20 70 6c 61 63 65 | 64 0d 6f 6e 20 74 68 65 |nd place|d.on the| |00004e40| 20 73 74 61 63 6b 2e 0d | 0d 54 68 65 20 66 69 72 | stack..|.The fir| |00004e50| 73 74 20 70 61 72 61 6d | 65 74 65 72 20 64 65 74 |st param|eter det| |00004e60| 65 72 6d 69 6e 65 73 20 | 74 68 65 20 66 6f 72 6d |ermines |the form| |00004e70| 61 74 20 6f 66 20 74 68 | 65 20 6f 75 74 70 75 74 |at of th|e output| |00004e80| 2e 20 54 68 69 73 20 69 | 73 20 65 69 74 68 65 72 |. This i|s either| |00004e90| 20 74 68 65 0d 63 6f 6e | 73 74 61 6e 74 73 20 57 | the.con|stants W| |00004ea0| 41 4e 54 5f 53 45 43 4f | 4e 44 53 20 6f 72 20 46 |ANT_SECO|NDS or F| |00004eb0| 41 4c 53 45 20 66 6f 72 | 20 74 69 6d 65 3b 20 6f |ALSE for| time; o| |00004ec0| 72 20 73 68 6f 72 74 44 | 61 74 65 2c 20 6c 6f 6e |r shortD|ate, lon| |00004ed0| 67 44 61 74 65 20 6f 72 | 20 6d 65 64 44 61 74 65 |gDate or| medDate| |00004ee0| 2c 20 66 6f 72 0d 74 68 | 65 20 64 61 74 65 2e 0d |, for.th|e date..| |00004ef0| 0d 57 41 4e 54 5f 53 45 | 43 4f 4e 44 53 20 69 73 |.WANT_SE|CONDS is| |00004f00| 20 64 65 66 69 6e 65 64 | 20 61 73 20 24 30 31 30 | defined| as $010| |00004f10| 30 20 62 65 63 61 75 73 | 65 20 69 74 20 69 73 20 |0 becaus|e it is | |00004f20| 61 20 62 6f 6f 6c 65 61 | 6e 20 54 52 55 45 2c 20 |a boolea|n TRUE, | |00004f30| 61 6e 64 20 74 68 65 72 | 65 66 6f 72 65 20 62 69 |and ther|efore bi| |00004f40| 74 0d 31 20 6f 66 20 74 | 68 65 20 68 69 67 68 20 |t.1 of t|he high | |00004f50| 62 79 74 65 20 6d 75 73 | 74 20 62 65 20 73 65 74 |byte mus|t be set| |00004f60| 2e 20 41 63 74 75 61 6c | 6c 79 20 61 6e 79 20 62 |. Actual|ly any b| |00004f70| 69 74 20 73 65 74 20 69 | 6e 20 74 68 65 20 68 69 |it set i|n the hi| |00004f80| 67 68 20 62 79 74 65 20 | 77 69 6c 6c 20 77 6f 72 |gh byte |will wor| |00004f90| 6b 0d 62 75 74 20 73 65 | 74 74 69 6e 67 20 62 69 |k.but se|tting bi| |00004fa0| 74 20 31 20 69 73 20 74 | 68 65 20 70 72 6f 70 65 |t 1 is t|he prope| |00004fb0| 72 20 6d 65 74 68 6f 64 | 2e 0d 0d 41 20 70 6f 69 |r method|...A poi| |00004fc0| 6e 74 65 72 20 74 6f 20 | 74 68 65 20 73 74 72 69 |nter to |the stri| |00004fd0| 6e 67 20 77 68 69 63 68 | 20 77 69 6c 6c 20 63 6f |ng which| will co| |00004fe0| 6e 74 61 69 6e 20 74 68 | 65 20 74 69 6d 65 20 6f |ntain th|e time o| |00004ff0| 72 20 64 61 74 65 20 63 | 68 61 72 61 63 74 65 72 |r date c|haracter| |00005000| 73 20 69 73 20 74 68 65 | 0d 73 65 63 6f 6e 64 20 |s is the|.second | |00005010| 70 61 72 61 6d 65 74 65 | 72 2e 0d 0d 54 68 65 20 |paramete|r...The | |00005020| 74 68 69 72 64 20 70 61 | 72 61 6d 65 74 65 72 20 |third pa|rameter | |00005030| 69 73 20 74 68 65 20 73 | 65 6c 65 63 74 6f 72 20 |is the s|elector | |00005040| 66 6f 72 20 74 68 65 20 | 50 61 63 6b 36 20 74 72 |for the |Pack6 tr| |00005050| 61 70 2c 20 65 69 74 68 | 65 72 20 54 49 4d 45 5f |ap, eith|er TIME_| |00005060| 53 45 4c 45 43 54 49 4f | 4e 20 6f 72 0d 44 41 54 |SELECTIO|N or.DAT| |00005070| 45 5f 53 45 4c 45 43 54 | 49 4f 4e 2e 0d 0d 54 68 |E_SELECT|ION...Th| |00005080| 65 20 4c 69 73 61 20 50 | 61 73 63 61 6c 20 66 6f |e Lisa P|ascal fo| |00005090| 72 6d 61 74 20 66 6f 72 | 20 74 68 65 20 6f 72 69 |rmat for| the ori| |000050a0| 67 69 6e 61 6c 20 74 77 | 6f 20 72 6f 75 74 69 6e |ginal tw|o routin| |000050b0| 65 73 20 69 73 3a 0d 09 | 50 52 4f 43 45 44 55 52 |es is:..|PROCEDUR| |000050c0| 45 20 49 55 44 61 74 65 | 53 74 72 69 6e 67 28 64 |E IUDate|String(d| |000050d0| 61 74 65 54 69 6d 65 3a | 20 4c 4f 4e 47 49 4e 54 |ateTime:| LONGINT| |000050e0| 3b 20 66 6f 72 6d 3a 20 | 44 61 74 65 46 6f 72 6d |; form: |DateForm| |000050f0| 3b 20 56 41 52 20 72 65 | 73 75 6c 74 3a 20 53 74 |; VAR re|sult: St| |00005100| 72 32 35 35 29 3b 0d 09 | 50 52 4f 43 45 44 55 52 |r255);..|PROCEDUR| |00005110| 45 20 49 55 54 69 6d 65 | 53 74 72 69 6e 67 28 64 |E IUTime|String(d| |00005120| 61 74 65 54 69 6d 65 3a | 20 4c 4f 4e 47 49 4e 54 |ateTime:| LONGINT| |00005130| 3b 20 77 61 6e 74 53 65 | 63 6f 6e 64 73 3a 20 42 |; wantSe|conds: B| |00005140| 4f 4f 4c 45 41 4e 3b 0d | 09 09 09 09 09 09 09 09 |OOLEAN;.|........| |00005150| 56 41 52 20 72 65 73 75 | 6c 74 3a 20 53 74 72 32 |VAR resu|lt: Str2| |00005160| 35 35 29 3b 20 2a 2f 0d | 0d 64 54 69 6d 65 54 6f |55); */.|.dTimeTo| |00005170| 53 74 72 69 6e 67 28 74 | 68 65 46 6f 72 6d 61 74 |String(t|heFormat| |00005180| 2c 20 74 68 65 53 74 72 | 2c 20 74 68 65 53 65 6c |, theStr|, theSel| |00005190| 65 63 74 6f 72 29 0d 09 | 73 68 6f 72 74 20 74 68 |ector)..|short th| |000051a0| 65 46 6f 72 6d 61 74 3b | 0d 09 53 74 72 32 35 35 |eFormat;|..Str255| |000051b0| 20 2a 74 68 65 53 74 72 | 3b 0d 09 73 68 6f 72 74 | *theStr|;..short| |000051c0| 20 74 68 65 53 65 6c 65 | 63 74 6f 72 3b 0d 09 7b | theSele|ctor;..{| |000051d0| 0d 0d 09 23 61 73 6d 0d | 09 09 09 09 09 4d 4f 56 |...#asm.|.....MOV| |000051e0| 45 2e 4c 09 09 24 30 32 | 30 43 2c 2d 28 53 50 29 |E.L..$02|0C,-(SP)| |000051f0| 09 09 09 09 3b 20 54 69 | 6d 65 0d 09 09 09 09 09 |....; Ti|me......| |00005200| 4d 4f 56 45 2e 57 09 09 | 44 30 2c 2d 28 53 50 29 |MOVE.W..|D0,-(SP)| |00005210| 09 09 09 09 09 3b 20 77 | 61 6e 74 53 65 63 6f 6e |.....; w|antSecon| |00005220| 64 73 20 6f 72 20 64 61 | 74 65 46 6f 72 6d 0d 09 |ds or da|teForm..| |00005230| 09 09 09 09 4d 4f 56 45 | 2e 4c 09 09 44 31 2c 2d |....MOVE|.L..D1,-| |00005240| 28 53 50 29 09 09 09 09 | 09 3b 20 74 68 65 53 74 |(SP)....|.; theSt| |00005250| 72 0d 09 09 09 09 09 4d | 4f 56 45 2e 57 09 09 44 |r......M|OVE.W..D| |00005260| 32 2c 2d 28 53 50 29 09 | 09 09 09 09 3b 20 72 6f |2,-(SP).|....; ro| |00005270| 75 74 69 6e 65 20 73 65 | 6c 65 63 74 6f 72 0d 09 |utine se|lector..| |00005280| 09 09 09 09 44 43 2e 57 | 09 09 09 24 41 39 45 44 |....DC.W|...$A9ED| |00005290| 09 09 09 09 09 09 09 3b | 20 5f 50 61 63 6b 36 0d |.......;| _Pack6.| |000052a0| 09 09 09 09 09 3b 20 52 | 54 53 20 69 73 20 69 6e |.....; R|TS is in| |000052b0| 73 65 72 74 65 64 20 62 | 79 20 74 68 65 20 63 6f |serted b|y the co| |000052c0| 6d 70 69 6c 65 72 20 61 | 66 74 65 72 20 22 7d 22 |mpiler a|fter "}"| |000052d0| 0d 09 23 65 6e 64 61 73 | 6d 0d 09 7d 0d 00 00 00 |..#endas|m..}....| |000052e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000052f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00005300| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 46 |........|.......F| |00005310| 6b 47 72 61 79 00 bb 14 | 04 5f 5f 50 00 04 6c 74 |kGray...|.__P..lt| |00005320| 47 72 61 79 00 bb 14 04 | 5f 5f 50 00 04 67 72 61 |Gray....|__P..gra| |00005330| 07 43 6c 6f 63 6b 2e 63 | 02 00 00 00 54 45 58 54 |.Clock.c|....TEXT| |00005340| 45 44 49 54 01 00 00 00 | 00 00 00 00 00 01 ab c5 |EDIT....|........| |00005350| 00 00 54 45 58 54 45 44 | 49 54 01 00 00 00 00 00 |..TEXTED|IT......| |00005360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00005370| 00 00 9a 6b 0d 7d 00 00 | 52 5d 00 00 01 5c 43 4c |...k.}..|R]...\CL| |00005380| 4f 43 4b 2e 43 00 37 00 | 00 04 e6 38 01 3a 00 00 |OCK.C.7.|...8.:..| |00005390| 00 01 3b 44 45 56 45 4c | 4f 50 4d 45 4e 54 3a 57 |..;DEVEL|OPMENT:W| |000053a0| 49 4e 44 4f 57 2e 48 00 | 37 00 00 00 00 14 04 5f |INDOW.H.|7......_| |000053b0| 5f 57 52 00 fb 14 04 5f | 5f 47 50 00 04 70 6f 72 |_WR...._|_GP..por| |000053c0| 74 00 bb 0a 04 77 69 6e | 64 6f 77 4b 69 6e 64 00 |t....win|dowKind.| |000053d0| bb 09 04 76 69 73 69 62 | 6c 65 00 bb 09 04 68 69 |...visib|le....hi| |000053e0| 6c 69 74 65 64 00 bb 09 | 04 67 6f 41 77 61 79 46 |lited...|.goAwayF| |000053f0| 6c 61 67 00 bb 09 04 73 | 70 61 72 65 46 6c 61 67 |lag....s|pareFlag| |00005400| 00 00 00 0a 00 09 06 4d | 6f 6e 61 63 6f 34 00 00 |.......M|onaco4..| |00005410| 00 04 00 06 00 02 00 00 | 01 00 00 00 01 16 00 00 |........|........| |00005420| 00 16 00 00 00 46 00 00 | cc 18 02 36 00 00 00 1c |.....F..|...6....| |00005430| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB| |00005440| 00 00 00 1e 03 eb ff ff | 00 00 00 00 00 01 60 d4 |........|......`.| |00005450| 03 ec ff ff 00 00 00 0e | 00 01 60 f0 00 00 00 00 |........|..`.....| |00005460| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00005470| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+